diff options
author | Bumjoon Park <bumjoon.park@qt.io> | 2022-06-22 15:36:47 +0900 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2022-07-07 05:24:38 +0000 |
commit | 54e0a24efd9fde911bf16a77b33a8b142d86db5c (patch) | |
tree | d1b076e8909150504826a53b81c067e08fde5a1b /src/quick | |
parent | 30a5f1eea70ba6bb417ee569d0b36eb01770408b (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.cpp | 2 |
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(); } |