aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/util/qquickanimation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/util/qquickanimation.cpp')
-rw-r--r--src/quick/util/qquickanimation.cpp16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/quick/util/qquickanimation.cpp b/src/quick/util/qquickanimation.cpp
index bfdc863d10..f2ee096af7 100644
--- a/src/quick/util/qquickanimation.cpp
+++ b/src/quick/util/qquickanimation.cpp
@@ -165,17 +165,15 @@ void QQuickAbstractAnimationPrivate::commence()
QQuickStateActions actions;
QQmlProperties properties;
- QAbstractAnimationJob *oldInstance = animationInstance;
- animationInstance = q->transition(actions, properties, QQuickAbstractAnimation::Forward);
- if (oldInstance && oldInstance != animationInstance)
- delete oldInstance;
+ auto *newInstance = q->transition(actions, properties, QQuickAbstractAnimation::Forward);
+ Q_ASSERT(newInstance != animationInstance);
+ delete animationInstance;
+ animationInstance = newInstance;
if (animationInstance) {
- if (oldInstance != animationInstance) {
- if (q->threadingModel() == QQuickAbstractAnimation::RenderThread)
- animationInstance = new QQuickAnimatorProxyJob(animationInstance, q);
- animationInstance->addAnimationChangeListener(this, QAbstractAnimationJob::Completion);
- }
+ if (q->threadingModel() == QQuickAbstractAnimation::RenderThread)
+ animationInstance = new QQuickAnimatorProxyJob(animationInstance, q);
+ animationInstance->addAnimationChangeListener(this, QAbstractAnimationJob::Completion);
emit q->started();
animationInstance->start();
}