diff options
author | Daniel Teske <daniel.teske@digia.com> | 2014-06-19 14:05:40 +0200 |
---|---|---|
committer | Daniel Teske <daniel.teske@digia.com> | 2014-06-19 14:11:50 +0200 |
commit | 7d45a1a1c5253b9d37dafe3fcfc277c134b2da7a (patch) | |
tree | 3e042a3987c31f74a4660ae7920e2de01c9eada7 /src/plugins/projectexplorer | |
parent | 110293d4e0c145f8b551b96b740eada677705c28 (diff) | |
download | qt-creator-7d45a1a1c5253b9d37dafe3fcfc277c134b2da7a.tar.gz |
IBuildConfigurationFactory: Partial revert of 5a30007e45e
The find methods should not return a factory with a -1 priority.
Change-Id: I05dab0c48b24b30f88cf40f49c2bc0e24bff46ec
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Diffstat (limited to 'src/plugins/projectexplorer')
-rw-r--r-- | src/plugins/projectexplorer/buildconfiguration.cpp | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/src/plugins/projectexplorer/buildconfiguration.cpp b/src/plugins/projectexplorer/buildconfiguration.cpp index 0b217f7cfe..b764d8b043 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<IBuildConfigurationFactory *> factories = ExtensionSystem::PluginManager::instance()->getObjects<IBuildConfigurationFactory>(); - - 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<IBuildConfigurationFactory *> factories - = ExtensionSystem::PluginManager::getObjects<IBuildConfigurationFactory>(); - - return Utils::bestElementOr(factories, 0, - [&parent](IBuildConfigurationFactory *a, IBuildConfigurationFactory *b) { - return a->priority(parent) > b->priority(parent); - }); + = ExtensionSystem::PluginManager::instance()->getObjects<IBuildConfigurationFactory>(); + 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 |