diff options
| author | Ismael Asensio <[email protected]> | 2020-11-06 21:22:14 +0100 |
|---|---|---|
| committer | Elvis Angelaccio <[email protected]> | 2020-11-08 21:59:34 +0000 |
| commit | ee4ab8ce699bd0fd10fe664e053eb6f26da94268 (patch) | |
| tree | 4b6c8f3eac895168893fa9de8136f13c296d74b7 /src/kitemviews/kfileitemmodel.cpp | |
| parent | e270aae9203949d25e983f53f33415fb17a0d064 (diff) | |
Iterate over a const copy list of containers
This effectively reverts the mutable iterations approach on
2448f88c5f42d7a2040fcf3bcd3c5f2a2f62cd03, and fix crashes
and ghost items when using the filter bar
BUG: 428374
Diffstat (limited to 'src/kitemviews/kfileitemmodel.cpp')
| -rw-r--r-- | src/kitemviews/kfileitemmodel.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/kitemviews/kfileitemmodel.cpp b/src/kitemviews/kfileitemmodel.cpp index c06202fd8..dbbd63a6a 100644 --- a/src/kitemviews/kfileitemmodel.cpp +++ b/src/kitemviews/kfileitemmodel.cpp @@ -919,9 +919,9 @@ void KFileItemModel::slotCompleted() // Note that the parent folder must be expanded before any of its subfolders become visible. // Therefore, some URLs in m_restoredExpandedUrls might not be visible yet // -> we expand the first visible URL we find in m_restoredExpandedUrls. - QMutableSetIterator<QUrl> it(m_urlsToExpand); - while (it.hasNext()) { - const QUrl url = it.next(); + // Iterate over a const copy because items are deleted and inserted within the loop + const auto urlsToExpand = m_urlsToExpand; + for(const QUrl &url : urlsToExpand) { const int indexForUrl = index(url); if (indexForUrl >= 0) { m_urlsToExpand.remove(url); |
