diff options
Diffstat (limited to 'src/qml/animations')
-rw-r--r-- | src/qml/animations/qcontinuinganimationgroupjob.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/qml/animations/qcontinuinganimationgroupjob.cpp b/src/qml/animations/qcontinuinganimationgroupjob.cpp index eb54b6e9aa..17ab071bf2 100644 --- a/src/qml/animations/qcontinuinganimationgroupjob.cpp +++ b/src/qml/animations/qcontinuinganimationgroupjob.cpp @@ -55,8 +55,7 @@ QContinuingAnimationGroupJob::~QContinuingAnimationGroupJob() void QContinuingAnimationGroupJob::updateCurrentTime(int /*currentTime*/) { - if (!firstChild()) - return; + Q_ASSERT(firstChild()); for (QAbstractAnimationJob *animation = firstChild(); animation; animation = animation->nextSibling()) { if (animation->state() == state()) { @@ -81,6 +80,10 @@ void QContinuingAnimationGroupJob::updateState(QAbstractAnimationJob::State newS animation->pause(); break; case Running: + if (!firstChild()) { + stop(); + return; + } for (QAbstractAnimationJob *animation = firstChild(); animation; animation = animation->nextSibling()) { resetUncontrolledAnimationFinishTime(animation); animation->setDirection(m_direction); |