From 7ecaa8c06e7a813669e04d227f3fa8a64346597a Mon Sep 17 00:00:00 2001 From: Moti Regev Date: Thu, 20 Aug 2015 23:30:02 +0300 Subject: [PATCH] Listview highligh move animation not interupt while adding to the model Change-Id: I475177caa6e7301d65a7855648a86fc2d6df3009 --- src/quick/items/qquickitemview.cpp | 1 - src/quick/items/qquicklistview.cpp | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp index 93cb5e4..c70b637 100644 --- a/src/quick/items/qquickitemview.cpp +++ b/src/quick/items/qquickitemview.cpp @@ -1922,7 +1922,6 @@ bool QQuickItemViewPrivate::applyModelChanges(ChangeResult *totalInsertionResult } updateUnrequestedIndexes(); - moveReason = QQuickItemViewPrivate::Other; FxViewItem *prevVisibleItemsFirst = visibleItems.count() ? *visibleItems.constBegin() : 0; int prevItemCount = itemCount; diff --git a/src/quick/items/qquicklistview.cpp b/src/quick/items/qquicklistview.cpp index d381fe2..3a98b05 100644 --- a/src/quick/items/qquicklistview.cpp +++ b/src/quick/items/qquicklistview.cpp @@ -1418,6 +1418,10 @@ void QQuickListViewPrivate::itemGeometryChanged(QQuickItem *item, const QRectF & void QQuickListViewPrivate::fixupPosition() { + /* don't fixup while in animation */ + if (highlightPosAnimator && highlightPosAnimator->isRunning()) { + return; + } if ((haveHighlightRange && highlightRange == QQuickListView::StrictlyEnforceRange) || snapMode != QQuickListView::NoSnap) moveReason = Other; -- 2.4.1