forked from qt-creator/qt-creator
ProjectExplorer: Fix comparing priorities
Makes test_modelmanager_extraeditorsupport_uiFiles pass again. Before, a "CMake Wizard" dialog blocked the auto test due to the wrong comparisons. The std::max_element function takes a less predicate. Thus the right way to find e.g. highest int in a vector is: std::max_element(..., std::less<>) or std::min_element(..., std::greater<>) Both variants are confussing to read. Instead of provinding Utils::maxElementOr provide a bestElementOr which leads to this code: bestElementOr(..., std::greater<>). Change-Id: Ic30f0d742c03170b28227f60d3a5ae00e40fdf5a Reviewed-by: Daniel Teske <daniel.teske@digia.com>
This commit is contained in:
@@ -345,7 +345,7 @@ IBuildConfigurationFactory *IBuildConfigurationFactory::find(Kit *k, const QStri
|
||||
QList<IBuildConfigurationFactory *> factories
|
||||
= ExtensionSystem::PluginManager::instance()->getObjects<IBuildConfigurationFactory>();
|
||||
|
||||
return Utils::maxElementOr(factories, 0,
|
||||
return Utils::bestElementOr(factories, 0,
|
||||
[&k, &projectPath](IBuildConfigurationFactory *a, IBuildConfigurationFactory *b) {
|
||||
return a->priority(k, projectPath) > b->priority(k, projectPath);
|
||||
});
|
||||
@@ -357,7 +357,7 @@ IBuildConfigurationFactory * IBuildConfigurationFactory::find(Target *parent)
|
||||
QList<IBuildConfigurationFactory *> factories
|
||||
= ExtensionSystem::PluginManager::getObjects<IBuildConfigurationFactory>();
|
||||
|
||||
return Utils::maxElementOr(factories, 0,
|
||||
return Utils::bestElementOr(factories, 0,
|
||||
[&parent](IBuildConfigurationFactory *a, IBuildConfigurationFactory *b) {
|
||||
return a->priority(parent) > b->priority(parent);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user