Folders with equal size caused the sort operation to become unstable,
as the result of lessThan was non-deterministic.
We need the fallback mechanisms at the bottom of the function to
resovle the situation and provide a stable sort order.
This also fixes expanding the contents of a folder into the wrong
parent.
BUG: 433247
FIXED-IN: 21.08
auto valueB = b->values.value("count");
if (valueA.isNull()) {
if (valueB.isNull()) {
- return 0;
+ result = 0;
+ break;
} else {
- return -1;
+ result = -1;
+ break;
}
} else if (valueB.isNull()) {
- return +1;
+ result = +1;
+ break;
} else {
if (valueA.toLongLong() < valueB.toLongLong()) {
- return -1;
+ result = -1;
+ break;
+ } else if (valueA.toLongLong() > valueB.toLongLong()) {
+ result = +1;
+ break;
} else {
- return +1;
+ result = 0;
+ break;
}
}
}