aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qtsupport/qtversionmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qtsupport/qtversionmanager.cpp')
-rw-r--r--src/plugins/qtsupport/qtversionmanager.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/plugins/qtsupport/qtversionmanager.cpp b/src/plugins/qtsupport/qtversionmanager.cpp
index 48edcca8c8..c269eca3cc 100644
--- a/src/plugins/qtsupport/qtversionmanager.cpp
+++ b/src/plugins/qtsupport/qtversionmanager.cpp
@@ -89,7 +89,8 @@ static PersistentSettingsWriter *m_writer = nullptr;
class QtVersionManagerImpl : public QObject
{
public:
- QtVersionManagerImpl()
+ QtVersionManagerImpl(QObject *parent)
+ : QObject(parent)
{
qRegisterMetaType<FilePath>();
@@ -135,10 +136,18 @@ public:
QTimer m_fileWatcherTimer;
};
+static QObject *s_guard = nullptr;
+
+void Internal::setupQtVersionManager(QObject *guard)
+{
+ s_guard = guard;
+}
+
QtVersionManagerImpl &qtVersionManagerImpl()
{
- static QtVersionManagerImpl theQtVersionManager;
- return theQtVersionManager;
+ QTC_CHECK(s_guard);
+ static auto theQtVersionManager = new QtVersionManagerImpl(s_guard);
+ return *theQtVersionManager;
}
void QtVersionManagerImpl::triggerQtVersionRestore()