┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/kitemlistview.cpp
diff options
context:
space:
mode:
authorElvis Angelaccio <[email protected]>2020-11-08 23:24:12 +0100
committerElvis Angelaccio <[email protected]>2020-11-08 23:24:12 +0100
commite5d137b81debbbfe51c18d16d361fd28a3448416 (patch)
tree20814229aeefd2f063f81c6775648cb1893c724d /src/kitemviews/kitemlistview.cpp
parentdd9e25cde577178b11301809607bc5e79d2eb0a9 (diff)
parentf6327ffec89a33623983e0ed1cc09f46aeedc91c (diff)
Merge branch 'release/20.12'
Diffstat (limited to 'src/kitemviews/kitemlistview.cpp')
-rw-r--r--src/kitemviews/kitemlistview.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/kitemviews/kitemlistview.cpp b/src/kitemviews/kitemlistview.cpp
index 281edc3e9..f6e5e666b 100644
--- a/src/kitemviews/kitemlistview.cpp
+++ b/src/kitemviews/kitemlistview.cpp
@@ -1155,10 +1155,10 @@ void KItemListView::slotItemsRemoved(const KItemRangeList& itemRanges)
QVector<int> itemsToMove;
// Remove all KItemListWidget instances that got deleted
- QMutableHashIterator<int, KItemListWidget*> it(m_visibleItems);
- while (it.hasNext()) {
- it.next();
- KItemListWidget* widget = it.value();
+ // Iterate over a const copy because the container is mutated within the loop
+ // directly and in `recycleWidget()` (https://bugs.kde.org/show_bug.cgi?id=428374)
+ const auto visibleItems = m_visibleItems;
+ for (KItemListWidget* widget : visibleItems) {
const int i = widget->index();
if (i < firstRemovedIndex) {
continue;