diff options
author | Thomas Hartmann <[email protected]> | 2022-03-16 14:20:43 +0100 |
---|---|---|
committer | Thomas Hartmann <[email protected]> | 2022-03-16 13:55:17 +0000 |
commit | e9074792d2c0bcb1c3e46cf0cd05113b532d7ba7 (patch) | |
tree | 26178bc0f81f1a62e599180ae40827b9fae01ee0 /src | |
parent | 51b51f882615b2dab3d190411b2e0ff3db136d26 (diff) |
QmlDesigner: Add mutex
Creating models can trigger this initialization potentially from
multiple threads.
Task-number: QDS-6429
Change-Id: I1e9f715c150e37e6381c3f4e94fe6de1aaec7556
Reviewed-by: Tim Jenssen <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/qmldesigner/designercore/metainfo/metainfo.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/plugins/qmldesigner/designercore/metainfo/metainfo.cpp b/src/plugins/qmldesigner/designercore/metainfo/metainfo.cpp index 14f1982b72d..c49a8c5035b 100644 --- a/src/plugins/qmldesigner/designercore/metainfo/metainfo.cpp +++ b/src/plugins/qmldesigner/designercore/metainfo/metainfo.cpp @@ -32,9 +32,9 @@ #include <coreplugin/messagebox.h> #include "pluginmanager/widgetpluginmanager.h" - #include <QDebug> #include <QMessageBox> +#include <QMutex> enum { debug = false @@ -107,6 +107,7 @@ void MetaInfoPrivate::parseItemLibraryDescriptions() using QmlDesigner::Internal::MetaInfoPrivate; MetaInfo MetaInfo::s_global; +QMutex s_lock; QStringList MetaInfo::s_pluginDirs; @@ -157,6 +158,8 @@ ItemLibraryInfo *MetaInfo::itemLibraryInfo() const */ MetaInfo MetaInfo::global() { + QMutexLocker locker(&s_lock); + if (!s_global.m_p->m_isInitialized) { s_global.m_p = QSharedPointer<MetaInfoPrivate>(new MetaInfoPrivate(&s_global)); s_global.m_p->initialize(); |