diff --git a/src/plugins/projectexplorer/kitmanager.cpp b/src/plugins/projectexplorer/kitmanager.cpp index 0dfc3e8e04f..d1aa4b0880a 100644 --- a/src/plugins/projectexplorer/kitmanager.cpp +++ b/src/plugins/projectexplorer/kitmanager.cpp @@ -323,8 +323,8 @@ KitManager::KitList KitManager::restoreKits(const Utils::FileName &fileName) QList KitManager::kits(const KitMatcher *m) const { if (!d->m_initialized) { - const_cast(this)->restoreKits(); d->m_initialized = true; + const_cast(this)->restoreKits(); } QList result; @@ -356,8 +356,8 @@ Kit *KitManager::find(const KitMatcher *m) const Kit *KitManager::defaultKit() { if (!d->m_initialized) { - restoreKits(); d->m_initialized = true; + restoreKits(); } return d->m_defaultKit; } diff --git a/src/plugins/projectexplorer/toolchainmanager.cpp b/src/plugins/projectexplorer/toolchainmanager.cpp index 158c7401acb..5a9eb58870f 100644 --- a/src/plugins/projectexplorer/toolchainmanager.cpp +++ b/src/plugins/projectexplorer/toolchainmanager.cpp @@ -39,7 +39,6 @@ #include #include -#include #include #include @@ -82,6 +81,7 @@ public: QList &toolChains(); ToolChainManager *q; + bool m_initialized; QMap m_abiToDebugger; Utils::PersistentSettingsWriter *m_writer; @@ -90,7 +90,8 @@ private: }; ToolChainManagerPrivate::ToolChainManagerPrivate(ToolChainManager *parent) - : q(parent), m_writer(0) + : q(parent), m_initialized(false), + m_writer(new Utils::PersistentSettingsWriter(settingsFileName(QLatin1String(TOOLCHAIN_FILENAME)), QLatin1String("QtCreatorToolChains"))) { } ToolChainManagerPrivate::~ToolChainManagerPrivate() @@ -98,8 +99,10 @@ ToolChainManagerPrivate::~ToolChainManagerPrivate() QList &ToolChainManagerPrivate::toolChains() { - if (!m_writer) + if (!m_initialized) { + m_initialized = true; q->restoreToolChains(); + } return m_toolChains; } @@ -133,10 +136,6 @@ ToolChainManager::ToolChainManager(QObject *parent) : void ToolChainManager::restoreToolChains() { - QTC_ASSERT(!d->m_writer, return); - d->m_writer = - new Utils::PersistentSettingsWriter(settingsFileName(QLatin1String(TOOLCHAIN_FILENAME)), QLatin1String("QtCreatorToolChains")); - QList tcsToRegister; QList tcsToCheck; diff --git a/src/plugins/qtsupport/qtversionmanager.cpp b/src/plugins/qtsupport/qtversionmanager.cpp index 93cf2eb3a00..81fa5b99b6e 100644 --- a/src/plugins/qtsupport/qtversionmanager.cpp +++ b/src/plugins/qtsupport/qtversionmanager.cpp @@ -177,10 +177,6 @@ QtVersionManager *QtVersionManager::instance() bool QtVersionManager::restoreQtVersions() { - QTC_ASSERT(!m_writer, return false); - m_writer = new Utils::PersistentSettingsWriter(settingsFileName(QLatin1String(QTVERSION_FILENAME)), - QLatin1String("QtCreatorQtVersions")); - QList factories = ExtensionSystem::PluginManager::getObjects(); Utils::PersistentSettingsReader reader; @@ -366,7 +362,8 @@ void QtVersionManager::updateFromInstaller(bool emitSignal) void QtVersionManager::saveQtVersions() { if (!m_writer) - return; + m_writer = new Utils::PersistentSettingsWriter(settingsFileName(QLatin1String(QTVERSION_FILENAME)), + QLatin1String("QtCreatorQtVersions")); QVariantMap data; data.insert(QLatin1String(QTVERSION_FILE_VERSION_KEY), 1);