diff options
Diffstat (limited to 'src/plugins/qtsupport/qtversionmanager.cpp')
-rw-r--r-- | src/plugins/qtsupport/qtversionmanager.cpp | 15 |
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() |