diff --git a/src/plugins/projectexplorer/buildconfiguration.cpp b/src/plugins/projectexplorer/buildconfiguration.cpp index 0b217f7cfe5..b764d8b043a 100644 --- a/src/plugins/projectexplorer/buildconfiguration.cpp +++ b/src/plugins/projectexplorer/buildconfiguration.cpp @@ -344,23 +344,33 @@ IBuildConfigurationFactory *IBuildConfigurationFactory::find(Kit *k, const QStri { QList factories = ExtensionSystem::PluginManager::instance()->getObjects(); - - return Utils::bestElementOr(factories, 0, - [&k, &projectPath](IBuildConfigurationFactory *a, IBuildConfigurationFactory *b) { - return a->priority(k, projectPath) > b->priority(k, projectPath); - }); + IBuildConfigurationFactory *factory = 0; + int priority = -1; + foreach (IBuildConfigurationFactory *i, factories) { + int iPriority = i->priority(k, projectPath); + if (iPriority > priority) { + factory = i; + priority = iPriority; + } + } + return factory; } // create IBuildConfigurationFactory * IBuildConfigurationFactory::find(Target *parent) { QList factories - = ExtensionSystem::PluginManager::getObjects(); - - return Utils::bestElementOr(factories, 0, - [&parent](IBuildConfigurationFactory *a, IBuildConfigurationFactory *b) { - return a->priority(parent) > b->priority(parent); - }); + = ExtensionSystem::PluginManager::instance()->getObjects(); + IBuildConfigurationFactory *factory = 0; + int priority = -1; + foreach (IBuildConfigurationFactory *i, factories) { + int iPriority = i->priority(parent); + if (iPriority > priority) { + factory = i; + priority = iPriority; + } + } + return factory; } // clone