summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJake Petroules <jake.petroules@qt.io>2016-11-16 02:11:18 -0800
committerKatja Marttila <katja.marttila@qt.io>2016-11-28 06:35:11 +0000
commit0cc9ab358e911f9cf48e642127901e14155fe5bc (patch)
tree068341cc640d2959423c86c4d493163736353aba
parent6bb6771ce5c79eda3e3dde8050eded88f00c730c (diff)
Use deterministic sorting order for components
Some components have an equal sorting priority. Therefore, we use the display name to disambiguate to avoid a "random" sorting order. Task-number: QTIFW-833 Change-Id: Ie0fea8cf6f251a1a712aca5ed53ed3c6f7cd9877 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
-rw-r--r--src/libs/installer/component.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/libs/installer/component.h b/src/libs/installer/component.h
index 71f10c272..feeeab044 100644
--- a/src/libs/installer/component.h
+++ b/src/libs/installer/component.h
@@ -80,7 +80,11 @@ public:
{
bool operator() (const Component *lhs, const Component *rhs) const
{
- return lhs->value(scSortingPriority).toInt() < rhs->value(scSortingPriority).toInt();
+ const int lhsPriority = lhs->value(scSortingPriority).toInt();
+ const int rhsPriority = rhs->value(scSortingPriority).toInt();
+ if (lhsPriority == rhsPriority)
+ return lhs->displayName() > rhs->displayName();
+ return lhsPriority < rhsPriority;
}
};
@@ -88,7 +92,11 @@ public:
{
bool operator() (const Component *lhs, const Component *rhs) const
{
- return lhs->value(scSortingPriority).toInt() > rhs->value(scSortingPriority).toInt();
+ const int lhsPriority = lhs->value(scSortingPriority).toInt();
+ const int rhsPriority = rhs->value(scSortingPriority).toInt();
+ if (lhsPriority == rhsPriority)
+ return lhs->displayName() < rhs->displayName();
+ return lhsPriority > rhsPriority;
}
};