diff --git a/src/libs/qmljs/qmljsmodelmanagerinterface.cpp b/src/libs/qmljs/qmljsmodelmanagerinterface.cpp index 75cea106844..aa388312f4f 100644 --- a/src/libs/qmljs/qmljsmodelmanagerinterface.cpp +++ b/src/libs/qmljs/qmljsmodelmanagerinterface.cpp @@ -139,14 +139,15 @@ ModelManagerInterface::~ModelManagerInterface() static QHash defaultLanguageMapping() { - QHash res; - res[QLatin1String("js")] = Dialect::JavaScript; - res[QLatin1String("qml")] = Dialect::Qml; - res[QLatin1String("qmltypes")] = Dialect::QmlTypeInfo; - res[QLatin1String("qmlproject")] = Dialect::QmlProject; - res[QLatin1String("json")] = Dialect::Json; - res[QLatin1String("qbs")] = Dialect::QmlQbs; - res[QLatin1String(qtQuickUISuffix)] = Dialect::QmlQtQuick2Ui; + static QHash res{ + {QLatin1String("js"), Dialect::JavaScript}, + {QLatin1String("qml"), Dialect::Qml}, + {QLatin1String("qmltypes"), Dialect::QmlTypeInfo}, + {QLatin1String("qmlproject"), Dialect::QmlProject}, + {QLatin1String("json"), Dialect::Json}, + {QLatin1String("qbs"), Dialect::QmlQbs}, + {QLatin1String(qtQuickUISuffix), Dialect::QmlQtQuick2Ui} + }; return res; } diff --git a/src/plugins/qmljstools/qmljsmodelmanager.cpp b/src/plugins/qmljstools/qmljsmodelmanager.cpp index cc033ae05c7..a1c153438a1 100644 --- a/src/plugins/qmljstools/qmljsmodelmanager.cpp +++ b/src/plugins/qmljstools/qmljsmodelmanager.cpp @@ -168,7 +168,8 @@ void setupProjectInfoQmlBundles(ModelManagerInterface::ProjectInfo &projectInfo) namespace Internal { -QHash ModelManager::languageForSuffix() const + +QHash ModelManager::initLanguageForSuffix() const { QHash res = ModelManagerInterface::languageForSuffix(); @@ -196,6 +197,12 @@ QHash ModelManager::languageForSuffix() const return res; } +QHash ModelManager::languageForSuffix() const +{ + static QHash res = initLanguageForSuffix(); + return res; +} + ModelManager::ModelManager(QObject *parent): ModelManagerInterface(parent) { diff --git a/src/plugins/qmljstools/qmljsmodelmanager.h b/src/plugins/qmljstools/qmljsmodelmanager.h index 6a0e630c1b0..c2ab6c4eacb 100644 --- a/src/plugins/qmljstools/qmljsmodelmanager.h +++ b/src/plugins/qmljstools/qmljsmodelmanager.h @@ -60,6 +60,7 @@ private slots: void updateDefaultProjectInfo(); private: void loadDefaultQmlTypeDescriptions(); + QHash initLanguageForSuffix() const; }; } // namespace Internal