aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCharles Yin <charles.yin@nokia.com>2012-05-09 10:24:06 +1000
committerQt by Nokia <qt-info@nokia.com>2012-05-09 03:26:54 +0200
commita1994d440b32e14535eed2450db379dc55e869d5 (patch)
treee6e9d51455824abc6c15698241ee3bd2b1a46b79
parentf010ac1da4ebdaf7317a6ee718a2eea9eca44c35 (diff)
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 <michael.brasser@nokia.com>
-rw-r--r--src/quick/util/qquicktransition.cpp6
-rw-r--r--tests/auto/quick/qquickanimations/tst_qquickanimations.cpp5
2 files changed, 7 insertions, 4 deletions
diff --git a/src/quick/util/qquicktransition.cpp b/src/quick/util/qquicktransition.cpp
index 300dda1479..b88584900c 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 7460263d71..60b0465637 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()