diff options
Diffstat (limited to 'src/plugins/projectexplorer/kitmanager.cpp')
-rw-r--r-- | src/plugins/projectexplorer/kitmanager.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/plugins/projectexplorer/kitmanager.cpp b/src/plugins/projectexplorer/kitmanager.cpp index 14288d7bb2..70151b5800 100644 --- a/src/plugins/projectexplorer/kitmanager.cpp +++ b/src/plugins/projectexplorer/kitmanager.cpp @@ -235,6 +235,13 @@ void KitManager::restoreKits() // Delete all loaded autodetected kits that were not rediscovered: kitsToCheck.clear(); + // Remove replacement kits for which the original kit has turned up again. + erase(resultList, [&resultList](const std::unique_ptr<Kit> &k) { + return k->isReplacementKit() && contains(resultList, [&k](const std::unique_ptr<Kit> &other) { + return other->id() == k->id() && other != k; + }); + }); + static const auto kitMatchesAbiList = [](const Kit *kit, const Abis &abis) { const QList<ToolChain *> toolchains = ToolChainKitAspect::toolChains(kit); for (const ToolChain * const tc : toolchains) { |