diff --git a/src/plugins/android/androidconfigurations.cpp b/src/plugins/android/androidconfigurations.cpp index 0bf15ed0c76..8a75c98f511 100644 --- a/src/plugins/android/androidconfigurations.cpp +++ b/src/plugins/android/androidconfigurations.cpp @@ -1289,7 +1289,6 @@ void AndroidConfigurations::updateAutomaticKitList() } // register new kits - QList newKits; const QList tmp = Utils::filtered(ToolChainManager::toolChains(), [](ToolChain *tc) { return tc->isAutoDetected() && tc->isValid() @@ -1316,6 +1315,13 @@ void AndroidConfigurations::updateAutomaticKitList() QtSupport::QtKitInformation::setQtVersion(newKit, qt); DeviceKitInformation::setDevice(newKit, device); + auto findExistingKit = [newKit](const Kit *k) { return matchKits(newKit, k); }; + Kit *existingKit = Utils::findOrDefault(existingKits, findExistingKit); + if (existingKit) { + KitManager::deleteKit(newKit); + newKit = existingKit; + } + Debugger::DebuggerItem debugger; debugger.setCommand(tc->suggestedDebugger()); debugger.setEngineType(Debugger::GdbEngineType); @@ -1332,19 +1338,8 @@ void AndroidConfigurations::updateAutomaticKitList() .arg(static_cast(qt)->targetArch()) .arg(tc->ndkToolChainVersion()) .arg(qt->qtVersionString())); - newKits << newKit; - } - } - - QSet rediscoveredExistingKits; - for (Kit *newKit : newKits) { - Kit *existingKit = Utils::findOrDefault(existingKits, [newKit](const Kit *k) { return matchKits(newKit, k); }); - if (existingKit) { - existingKit->copyFrom(newKit); - KitManager::deleteKit(newKit); - rediscoveredExistingKits.insert(existingKit); - } else { - KitManager::registerKit(newKit); + if (!existingKit) + KitManager::registerKit(newKit); } } }