]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Merge remote-tracking branch 'origin/KDE/4.10'
authorFrank Reininghaus <frank78ac@googlemail.com>
Sun, 10 Mar 2013 17:31:23 +0000 (18:31 +0100)
committerFrank Reininghaus <frank78ac@googlemail.com>
Sun, 10 Mar 2013 17:31:23 +0000 (18:31 +0100)
Conflicts:
dolphin/src/kitemviews/kfileitemmodel.cpp

1  2 
src/kitemviews/kfileitemmodel.cpp
src/tests/kfileitemmodeltest.cpp

index 688826ee416b2e7c41361002c3e1efdb23a9e094,792724502159cd8ea13341cabe41d310b8874340..61703e760f5f1f01618ceb27a1023b5fb1d1125c
@@@ -437,7 -438,30 +437,31 @@@ bool KFileItemModel::setExpanded(int in
              itemsToRemove.append(m_itemData.at(index)->item);
              ++index;
          }
 -        QSet<KFileItem>::iterator it = m_filteredItems.begin();
+         QSet<KUrl> urlsToRemove;
+         urlsToRemove.reserve(itemsToRemove.count() + 1);
+         urlsToRemove.insert(url);
+         foreach (const KFileItem& item, itemsToRemove) {
+             KUrl url = item.url();
+             url.adjustPath(KUrl::RemoveTrailingSlash);
+             urlsToRemove.insert(url);
+         }
 -            const KUrl url = it->url();
++        QHash<KFileItem, ItemData*>::iterator it = m_filteredItems.begin();
+         while (it != m_filteredItems.end()) {
 -        removeItems(itemsToRemove);
++            const KUrl url = it.key().url();
+             KUrl parentUrl = url.upUrl();
+             parentUrl.adjustPath(KUrl::RemoveTrailingSlash);
+             if (urlsToRemove.contains(parentUrl)) {
++                delete it.value();
+                 it = m_filteredItems.erase(it);
+             } else {
+                 ++it;
+             }
+         }
 +        removeItems(itemsToRemove, DeleteItemData);
      }
  
      return true;
Simple merge