The problem was that the loop in KFileItemModel::createMimeData() which
is supposed to find out if any parent of an item has been added to the
QMimeData already (because it is not necessary to add the item in that
case) did not loop through the parents of the item, but incorrectly
replaced the local variable 'itemData' by its parent.
BUG: 329119
REVIEW: 114562
const ItemData* parent = itemData->parent;
while (parent && parent != lastAddedItem) {
- itemData = itemData->parent;
+ parent = parent->parent;
}
if (parent && parent == lastAddedItem) {