Commit 09bc8af6 authored by Tobias Hunger's avatar Tobias Hunger

ToolChainManager: Fix autodetected toolchains going manual

The recent optimization to avoid running toolchains during startup
has broken the registration of tool chains with the manager, resulting
in auto-detected toolchains being demoted to manual in one run and
then getting removed in the next (at which point a new set of toolchains
got auto-detected).

Change-Id: I175c7344238df1bcb36a8b4949f0f0faf8828116
Reviewed-by: default avatarEike Ziller <eike.ziller@theqtcompany.com>
parent 52e35e7e
......@@ -213,7 +213,7 @@ void ToolChainManager::restoreToolChains()
}
// Then auto detect
QList<ToolChain *> detectedTcs;
QList<ToolChain *> detectedTcs = tcsToCheck;
QList<ToolChainFactory *> factories = ExtensionSystem::PluginManager::getObjects<ToolChainFactory>();
foreach (ToolChainFactory *f, factories)
detectedTcs.append(f->autoDetect(tcsToCheck));
......@@ -226,7 +226,10 @@ void ToolChainManager::restoreToolChains()
// Check whether we had this TC stored and prefer the old one with the old id, marked
// as auto-detection.
for (int i = 0; i < tcsToCheck.count(); ++i) {
if (*(tcsToCheck.at(i)) == *currentDetected) {
if (tcsToCheck.at(i) == currentDetected) {
tcsToCheck.removeAt(i);
break;
} else if (*(tcsToCheck.at(i)) == *currentDetected) {
toStore = tcsToCheck.at(i);
toStore->setDetection(ToolChain::AutoDetection);
tcsToCheck.removeAt(i);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment