aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Koenig <tobias.koenig@kdab.com>2018-10-18 12:24:47 +0200
committerTobias Koenig <tobias.koenig@kdab.com>2018-10-19 11:44:15 +0000
commita9559a8b84ec221550512fd7ff50f6fc5a569c59 (patch)
treeb6d35a66e5710e84f133d78b60dfc6a102fab675
parent878a17729b4cdaf0a7989d3e5fe22b058c1715d4 (diff)
Item Views: cancel flicking before a model reset
While the view is flicking, if the content is updated by a model reset, it gets very confused and creates many delegates that won't be shown inside the visible area. Now we cancel any active flicking before the model reset is handled. Fixes: QTBUG-70742 Change-Id: I6f7aa368b760a00d08c540f3963c32e1e174a908 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
-rw-r--r--src/quick/items/qquickitemview.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp
index a1a71bf3cd..8dafc16cf4 100644
--- a/src/quick/items/qquickitemview.cpp
+++ b/src/quick/items/qquickitemview.cpp
@@ -1185,6 +1185,7 @@ void QQuickItemView::modelUpdated(const QQmlChangeSet &changeSet, bool reset)
{
Q_D(QQuickItemView);
if (reset) {
+ cancelFlick();
if (d->transitioner)
d->transitioner->setPopulateTransitionEnabled(true);
d->moveReason = QQuickItemViewPrivate::SetIndex;