From be49c10b77ff997a7f1395d9e4e80eab02a2b387 Mon Sep 17 00:00:00 2001 From: Gunnar Sletta Date: Tue, 22 Apr 2014 16:24:06 +0200 Subject: Reset loop counters when animations are started. Where normal animations would derive the current loop from the current time, uncontrolled animations use an iterative approach and which was not reset when an animation was restarted or a parent had a loop around it. Change-Id: Ia7a1880c8b7578463dff4c5ddeab48324bcb32ee Reviewed-by: Michael Brasser --- src/qml/animations/qparallelanimationgroupjob.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/qml/animations/qparallelanimationgroupjob.cpp') diff --git a/src/qml/animations/qparallelanimationgroupjob.cpp b/src/qml/animations/qparallelanimationgroupjob.cpp index f66d4b1826..f3ea389469 100644 --- a/src/qml/animations/qparallelanimationgroupjob.cpp +++ b/src/qml/animations/qparallelanimationgroupjob.cpp @@ -142,8 +142,10 @@ void QParallelAnimationGroupJob::updateState(QAbstractAnimationJob::State newSta break; case Running: for (QAbstractAnimationJob *animation = firstChild(); animation; animation = animation->nextSibling()) { - if (oldState == Stopped) + if (oldState == Stopped) { animation->stop(); + m_previousLoop = m_direction == Forward ? 0 : m_loopCount - 1; + } resetUncontrolledAnimationFinishTime(animation); animation->setDirection(m_direction); if (shouldAnimationStart(animation, oldState == Stopped)) -- cgit v1.2.3