diff --git a/src/kitemviews/kfileitemmodel.cpp b/src/kitemviews/kfileitemmodel.cpp index f6b51f21c0..698314c2fc 100644 --- a/src/kitemviews/kfileitemmodel.cpp +++ b/src/kitemviews/kfileitemmodel.cpp @@ -759,10 +759,6 @@ void KFileItemModel::slotItemsAdded(const KUrl& directoryUrl, const KFileItemLis parentUrl.adjustPath(KUrl::RemoveTrailingSlash); if (m_requestRole[ExpandedParentsCountRole]) { - // To be able to compare whether the new items may be inserted as children - // of a parent item the pending items must be added to the model first. - dispatchPendingItemsToInsert(); - KFileItem item = items.first(); // If the expanding of items is enabled, the call @@ -776,6 +772,12 @@ void KFileItemModel::slotItemsAdded(const KUrl& directoryUrl, const KFileItemLis return; } + if (directoryUrl != directory()) { + // To be able to compare whether the new items may be inserted as children + // of a parent item the pending items must be added to the model first. + dispatchPendingItemsToInsert(); + } + // KDirLister keeps the children of items that got expanded once even if // they got collapsed again with KFileItemModel::setExpanded(false). So it must be // checked whether the parent for new items is still expanded.