If a protocol like fish is used, the sorting of sub-trees was wrong. The root
cause was a wrong comparing of URLs where the protocol was not initialized.
BUG: 289697
FIXED-IN: 4.8.0
// Compare the items of the parents that represent the first
// different path after the common path.
// Compare the items of the parents that represent the first
// different path after the common path.
- const KUrl parentUrlA(pathA.left(index) + subPathA);
- const KUrl parentUrlB(pathB.left(index) + subPathB);
+ const QString parentPathA = pathA.left(index) + subPathA;
+ const QString parentPathB = pathB.left(index) + subPathB;
const ItemData* parentA = a;
const ItemData* parentA = a;
- while (parentA && parentA->item.url() != parentUrlA) {
+ while (parentA && parentA->item.url().path() != parentPathA) {
parentA = parentA->parent;
}
const ItemData* parentB = b;
parentA = parentA->parent;
}
const ItemData* parentB = b;
- while (parentB && parentB->item.url() != parentUrlB) {
+ while (parentB && parentB->item.url().path() != parentPathB) {
parentB = parentB->parent;
}
parentB = parentB->parent;
}