summaryrefslogtreecommitdiff
path: root/src/plugins/projectexplorer
diff options
context:
space:
mode:
authorDaniel Teske <daniel.teske@digia.com>2014-06-19 14:05:40 +0200
committerDaniel Teske <daniel.teske@digia.com>2014-06-19 14:11:50 +0200
commit7d45a1a1c5253b9d37dafe3fcfc277c134b2da7a (patch)
tree3e042a3987c31f74a4660ae7920e2de01c9eada7 /src/plugins/projectexplorer
parent110293d4e0c145f8b551b96b740eada677705c28 (diff)
downloadqt-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.cpp32
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