ProjectExplorer: cancel MSVC tool chain detection on shutdown

Task-number: QTCREATORBUG-21329
Change-Id: I681757f1a2e77ecd7f766f25ab554d57473f1c6d
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
David Schulz
2018-10-17 08:07:03 +02:00
parent 253f71bfab
commit c882286529
5 changed files with 16 additions and 0 deletions

View File

@@ -1184,6 +1184,11 @@ bool MsvcToolChain::operator ==(const ToolChain &other) const
return m_varsBatArg == msvcTc->m_varsBatArg;
}
void MsvcToolChain::cancelMsvcToolChainDetection()
{
envModThreadPool()->clear();
}
bool MsvcToolChainFactory::canRestore(const QVariantMap &data)
{
const Core::Id id = typeIdFromMap(data);

View File

@@ -79,6 +79,8 @@ public:
bool operator == (const ToolChain &) const override;
static void cancelMsvcToolChainDetection();
protected:
explicit MsvcToolChain(Core::Id typeId, const QString &name, const Abi &abi,
const QString &varsBat, const QString &varsBatArg,

View File

@@ -1657,6 +1657,7 @@ ExtensionSystem::IPlugin::ShutdownFlag ProjectExplorerPlugin::aboutToShutdown()
disconnect(ModeManager::instance(), &ModeManager::currentModeChanged,
dd, &ProjectExplorerPluginPrivate::currentModeChanged);
ProjectTree::aboutToShutDown();
ToolChainManager::aboutToShutdown();
SessionManager::closeAllProjects();
dd->m_shuttingDown = true;

View File

@@ -27,6 +27,7 @@
#include "abi.h"
#include "kitinformation.h"
#include "msvctoolchain.h"
#include "toolchain.h"
#include "toolchainsettingsaccessor.h"
@@ -248,4 +249,9 @@ bool ToolChainManager::isLanguageSupported(const Core::Id &id)
return Utils::contains(d->m_languages, Utils::equal(&LanguageDisplayPair::id, id));
}
void ToolChainManager::aboutToShutdown()
{
MsvcToolChain::cancelMsvcToolChainDetection();
}
} // namespace ProjectExplorer

View File

@@ -74,6 +74,8 @@ public:
static QString displayNameOfLanguageId(const Core::Id &id);
static bool isLanguageSupported(const Core::Id &id);
static void aboutToShutdown();
void saveToolChains();
signals: