From 23ab6051577189897da9072d172ba35e911e62a4 Mon Sep 17 00:00:00 2001 From: Frank Reininghaus Date: Sat, 26 May 2012 16:29:51 +0200 Subject: Show all items in the directory when the name filter is cleared The problem was the following: While a QMutableSetIterator iterates the items in the QSet m_filteredItems, all items that match the new filter are removed from the set. However, to ensure that the iterator still reaches all items in the set, one must not use QSet::remove(), but rather the iterator's remove() method (see QMutableSetIterator docs). CCBUG: 300504 (cherry picked from commit 288473a96cdd8888f7fc91d0a551d6cbde5fd5dc) --- src/kitemviews/kfileitemmodel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/kitemviews/kfileitemmodel.cpp b/src/kitemviews/kfileitemmodel.cpp index 831493d80..320b60b94 100644 --- a/src/kitemviews/kfileitemmodel.cpp +++ b/src/kitemviews/kfileitemmodel.cpp @@ -530,7 +530,7 @@ void KFileItemModel::setNameFilter(const QString& nameFilter) const KFileItem item = it.next(); if (m_filter.matches(item)) { newVisibleItems.append(item); - m_filteredItems.remove(item); + it.remove(); } } -- cgit v1.3