forked from qt-creator/qt-creator
ProjectExplorer: Fix restoring parent toolchain
... for auto-detected clang toolchains on Windows. We must wait until toolchain loading has finished before determining whether the parent toolchain still exists. Change-Id: I4d9ed3e1d7df47dd4b2b408c70d796c8972c9a54 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
@@ -1424,6 +1424,17 @@ void ClangToolChain::syncAutodetectedWithParentToolchains()
|
|||||||
QObject::disconnect(m_thisToolchainRemovedConnection);
|
QObject::disconnect(m_thisToolchainRemovedConnection);
|
||||||
QObject::disconnect(m_mingwToolchainAddedConnection);
|
QObject::disconnect(m_mingwToolchainAddedConnection);
|
||||||
|
|
||||||
|
if (!ToolChainManager::isLoaded()) {
|
||||||
|
QObject::connect(ToolChainManager::instance(), &ToolChainManager::toolChainsLoaded,
|
||||||
|
[this, id = id()] {
|
||||||
|
if (ToolChain * const tc = ToolChainManager::findToolChain(id)) {
|
||||||
|
if (tc->typeId() == Constants::CLANG_TOOLCHAIN_TYPEID)
|
||||||
|
static_cast<ClangToolChain *>(tc)->syncAutodetectedWithParentToolchains();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (!mingwToolChainFromId(m_parentToolChainId)) {
|
if (!mingwToolChainFromId(m_parentToolChainId)) {
|
||||||
const QList<ToolChain *> mingwTCs = mingwToolChains();
|
const QList<ToolChain *> mingwTCs = mingwToolChains();
|
||||||
m_parentToolChainId = mingwTCs.isEmpty() ? QByteArray() : mingwTCs.front()->id();
|
m_parentToolChainId = mingwTCs.isEmpty() ? QByteArray() : mingwTCs.front()->id();
|
||||||
|
Reference in New Issue
Block a user