aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick
diff options
context:
space:
mode:
authorBumjoon Park <bumjoon.park@qt.io>2022-06-22 15:36:47 +0900
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-07-07 05:24:38 +0000
commit54e0a24efd9fde911bf16a77b33a8b142d86db5c (patch)
treed1b076e8909150504826a53b81c067e08fde5a1b /src/quick
parent30a5f1eea70ba6bb417ee569d0b36eb01770408b (diff)
Delete transition when it's canceled
If next transition occurs before previous transition ends, the animation of the previous transition is canceled. The problem is that it is not removed from A while it is being canceled. At this time, if a new job comes in translator->runningJobs,'busy' state cannot return back to its original state and mouseEvent/ touchEvent are broken. So, in case of transition canceled, we should remove the transition. Fixes: QTBUG-104491 Change-Id: I33083822763bdc006eb35262b9c216f27989139a Reviewed-by: Bumjoon Park <bumjoon.park@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> (cherry picked from commit 572b3ae9f32d039ed2b14a50731e939422646da4) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src/quick')
-rw-r--r--src/quick/items/qquickitemviewtransition.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/quick/items/qquickitemviewtransition.cpp b/src/quick/items/qquickitemviewtransition.cpp
index 9cb5864436..cf3176201e 100644
--- a/src/quick/items/qquickitemviewtransition.cpp
+++ b/src/quick/items/qquickitemviewtransition.cpp
@@ -579,6 +579,8 @@ void QQuickItemViewTransitionableItem::stopTransition()
{
if (transition)
RETURN_IF_DELETED(transition->cancel());
+ delete transition;
+ transition = nullptr;
clearCurrentScheduledTransition();
resetNextTransitionPos();
}