From a1994d440b32e14535eed2450db379dc55e869d5 Mon Sep 17 00:00:00 2001 From: Charles Yin Date: Wed, 9 May 2012 10:24:06 +1000 Subject: [PATCH] Emit runningChanged() signal after running count updated Otherwise, in onRunningChanged handler, the running property won't be updated. Change-Id: I3dccfb346a66c67d455f66f4af3ee8d2b9d8e33a Reviewed-by: Michael Brasser --- src/quick/util/qquicktransition.cpp | 6 +++--- .../qquickanimations/tst_qquickanimations.cpp | 5 ++++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/quick/util/qquicktransition.cpp b/src/quick/util/qquicktransition.cpp index 300dda1..b885849 100644 --- a/src/quick/util/qquicktransition.cpp +++ b/src/quick/util/qquicktransition.cpp @@ -175,12 +175,12 @@ void QQuickTransitionPrivate::animationStateChanged(QAbstractAnimationJob *, QAb Q_Q(QQuickTransition); if (newState == QAbstractAnimationJob::Running) { - if (!runningInstanceCount) - emit q->runningChanged(); runningInstanceCount++; + if (runningInstanceCount == 1) + emit q->runningChanged(); } else if (newState == QAbstractAnimationJob::Stopped) { runningInstanceCount--; - if (!runningInstanceCount) + if (runningInstanceCount == 0) emit q->runningChanged(); } } diff --git a/tests/auto/quick/qquickanimations/tst_qquickanimations.cpp b/tests/auto/quick/qquickanimations/tst_qquickanimations.cpp index 7460263..60b0465 100644 --- a/tests/auto/quick/qquickanimations/tst_qquickanimations.cpp +++ b/tests/auto/quick/qquickanimations/tst_qquickanimations.cpp @@ -990,9 +990,12 @@ void tst_qquickanimations::disabledTransition() QSignalSpy runningSpy(trans, SIGNAL(runningChanged())); QQuickItemPrivate::get(rect)->setState(""); QCOMPARE(myRect->x(),qreal(200)); + QCOMPARE(runningSpy.count(), 1); //stopped -> running + QVERIFY(trans->running()); QTest::qWait(300); QTIMED_COMPARE(myRect->x(),qreal(100)); - QCOMPARE(runningSpy.count(), 2); //stopped, running, stopped + QVERIFY(!trans->running()); + QCOMPARE(runningSpy.count(), 2); //running -> stopped } void tst_qquickanimations::invalidDuration() -- 1.7.2.5