forked from qt-creator/qt-creator
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: Eike Ziller <eike.ziller@theqtcompany.com>
This commit is contained in:
@@ -213,7 +213,7 @@ void ToolChainManager::restoreToolChains()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Then auto detect
|
// Then auto detect
|
||||||
QList<ToolChain *> detectedTcs;
|
QList<ToolChain *> detectedTcs = tcsToCheck;
|
||||||
QList<ToolChainFactory *> factories = ExtensionSystem::PluginManager::getObjects<ToolChainFactory>();
|
QList<ToolChainFactory *> factories = ExtensionSystem::PluginManager::getObjects<ToolChainFactory>();
|
||||||
foreach (ToolChainFactory *f, factories)
|
foreach (ToolChainFactory *f, factories)
|
||||||
detectedTcs.append(f->autoDetect(tcsToCheck));
|
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
|
// Check whether we had this TC stored and prefer the old one with the old id, marked
|
||||||
// as auto-detection.
|
// as auto-detection.
|
||||||
for (int i = 0; i < tcsToCheck.count(); ++i) {
|
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 = tcsToCheck.at(i);
|
||||||
toStore->setDetection(ToolChain::AutoDetection);
|
toStore->setDetection(ToolChain::AutoDetection);
|
||||||
tcsToCheck.removeAt(i);
|
tcsToCheck.removeAt(i);
|
||||||
|
Reference in New Issue
Block a user