diff --git a/src/plugins/projectexplorer/kitmanager.cpp b/src/plugins/projectexplorer/kitmanager.cpp index 0dfc3e8e04f1b7df5c9906d78f115e13f03e36d7..d1aa4b0880aa76155074d98fcc9c2a25165f333a 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<Kit *> KitManager::kits(const KitMatcher *m) const { if (!d->m_initialized) { - const_cast<KitManager *>(this)->restoreKits(); d->m_initialized = true; + const_cast<KitManager *>(this)->restoreKits(); } QList<Kit *> 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 158c7401acbbffde95f03d7f7f74f56eeaad3796..5a9eb58870f4d6844f18e5ea060aad2c3cbffd1d 100644 --- a/src/plugins/projectexplorer/toolchainmanager.cpp +++ b/src/plugins/projectexplorer/toolchainmanager.cpp @@ -39,7 +39,6 @@ #include <extensionsystem/pluginmanager.h> #include <utils/persistentsettings.h> -#include <utils/qtcassert.h> #include <QCoreApplication> #include <QDir> @@ -82,6 +81,7 @@ public: QList<ToolChain *> &toolChains(); ToolChainManager *q; + bool m_initialized; QMap<QString, Utils::FileName> 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<ToolChain *> &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<ToolChain *> tcsToRegister; QList<ToolChain *> tcsToCheck; diff --git a/src/plugins/qtsupport/qtversionmanager.cpp b/src/plugins/qtsupport/qtversionmanager.cpp index 93cf2eb3a00b4744748291c190570be1cc737bb6..81fa5b99b6ef9b953bfbc666de08d420486c8cb8 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<QtVersionFactory *> factories = ExtensionSystem::PluginManager::getObjects<QtVersionFactory>(); 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);