aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickitemview_p_p.h
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@qt.io>2017-06-19 08:20:16 +0200
committerOswald Buddenhagen <oswald.buddenhagen@qt.io>2017-06-19 08:20:16 +0200
commit7d28940a316128c8ee43def83a71843711d702c9 (patch)
tree613537bedaeccae8711cb2009614c8f617374adf /src/quick/items/qquickitemview_p_p.h
parent4199572d64d46bfa2efdcf7c910e81e5b8fb5547 (diff)
parent1e0685136d0debb2a3b62d9f4650c95afe41913b (diff)
Merge 5.9 into 5.9.1
Diffstat (limited to 'src/quick/items/qquickitemview_p_p.h')
-rw-r--r--src/quick/items/qquickitemview_p_p.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/quick/items/qquickitemview_p_p.h b/src/quick/items/qquickitemview_p_p.h
index 3087682ac7..b6353246e8 100644
--- a/src/quick/items/qquickitemview_p_p.h
+++ b/src/quick/items/qquickitemview_p_p.h
@@ -269,6 +269,15 @@ public:
q->polish();
}
+ void releaseVisibleItems() {
+ // make a copy and clear the visibleItems first to avoid destroyed
+ // items being accessed during the loop (QTBUG-61294)
+ const QList<FxViewItem *> oldVisible = visibleItems;
+ visibleItems.clear();
+ for (FxViewItem *item : oldVisible)
+ releaseItem(item);
+ }
+
QPointer<QQmlInstanceModel> model;
QVariant modelVariant;
int itemCount;