qt5-qtdeclarative/0017-Reset-currentChanges-if-currentChanges-is-active-whe.patch

39 lines
1.5 KiB
Diff

From 10d77845723f1e7fa60bbb0f60f708949f3a538c Mon Sep 17 00:00:00 2001
From: Tony Leinonen <tony.leinonen@qt.io>
Date: Thu, 21 Oct 2021 14:44:02 +0300
Subject: [PATCH 17/18] Reset currentChanges if currentChanges is active when
refilling listView
currentIndex was not getting updated because itemViewChangeSet was left
active from previous interaction. Clear the changes if they are still
active on refill.
Task-number: QTBUG-92809
Pick-to: 6.2 5.15
Change-Id: I81558a5e0bfe0f880851fff85370bd5be60a5391
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
(cherry picked from commit 2d8033a4ffb9ca60adee29d375491d7ed2a82747)
* asturmlechner 2021-11-09: Other part of 2d8033a4 is in qtquickcontrols2
but only consists of tests.
---
src/quick/items/qquickitemview.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp
index 13e7b87049..c8ea286d3e 100644
--- a/src/quick/items/qquickitemview.cpp
+++ b/src/quick/items/qquickitemview.cpp
@@ -1785,7 +1785,7 @@ void QQuickItemViewPrivate::refill(qreal from, qreal to)
do {
bufferPause.stop();
- if (currentChanges.hasPendingChanges() || bufferedChanges.hasPendingChanges()) {
+ if (currentChanges.hasPendingChanges() || bufferedChanges.hasPendingChanges() || currentChanges.active) {
currentChanges.reset();
bufferedChanges.reset();
releaseVisibleItems(reusableFlag);
--
2.37.3