IBuildConfigurationFactory: Partial revert of 5a30007e45

The find methods should not return a factory with a -1 priority.

Change-Id: I05dab0c48b24b30f88cf40f49c2bc0e24bff46ec
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
Daniel Teske
2014-06-19 14:05:40 +02:00
parent 110293d4e0
commit 7d45a1a1c5

View File

@@ -344,23 +344,33 @@ IBuildConfigurationFactory *IBuildConfigurationFactory::find(Kit *k, const QStri
{ {
QList<IBuildConfigurationFactory *> factories QList<IBuildConfigurationFactory *> factories
= ExtensionSystem::PluginManager::instance()->getObjects<IBuildConfigurationFactory>(); = ExtensionSystem::PluginManager::instance()->getObjects<IBuildConfigurationFactory>();
IBuildConfigurationFactory *factory = 0;
return Utils::bestElementOr(factories, 0, int priority = -1;
[&k, &projectPath](IBuildConfigurationFactory *a, IBuildConfigurationFactory *b) { foreach (IBuildConfigurationFactory *i, factories) {
return a->priority(k, projectPath) > b->priority(k, projectPath); int iPriority = i->priority(k, projectPath);
}); if (iPriority > priority) {
factory = i;
priority = iPriority;
}
}
return factory;
} }
// create // create
IBuildConfigurationFactory * IBuildConfigurationFactory::find(Target *parent) IBuildConfigurationFactory * IBuildConfigurationFactory::find(Target *parent)
{ {
QList<IBuildConfigurationFactory *> factories QList<IBuildConfigurationFactory *> factories
= ExtensionSystem::PluginManager::getObjects<IBuildConfigurationFactory>(); = ExtensionSystem::PluginManager::instance()->getObjects<IBuildConfigurationFactory>();
IBuildConfigurationFactory *factory = 0;
return Utils::bestElementOr(factories, 0, int priority = -1;
[&parent](IBuildConfigurationFactory *a, IBuildConfigurationFactory *b) { foreach (IBuildConfigurationFactory *i, factories) {
return a->priority(parent) > b->priority(parent); int iPriority = i->priority(parent);
}); if (iPriority > priority) {
factory = i;
priority = iPriority;
}
}
return factory;
} }
// clone // clone