forked from qt-creator/qt-creator
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:
@@ -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
|
||||||
|
Reference in New Issue
Block a user