diff options
author | Martin Jones <martin.jones@nokia.com> | 2009-11-26 00:54:45 (GMT) |
---|---|---|
committer | Martin Jones <martin.jones@nokia.com> | 2009-11-26 00:54:45 (GMT) |
commit | 74aee53beb00f13fdcfcdaa0657aff259d7c962b (patch) | |
tree | cfa1cd9052e3d05aa99ebf39a72823e3e7232597 | |
parent | b74e226c09bc37043a06b24029e0e22e4f3cdd16 (diff) | |
download | Qt-74aee53beb00f13fdcfcdaa0657aff259d7c962b.zip Qt-74aee53beb00f13fdcfcdaa0657aff259d7c962b.tar.gz Qt-74aee53beb00f13fdcfcdaa0657aff259d7c962b.tar.bz2 |
Ensure running is set to false when the timer stops.
-rw-r--r-- | src/declarative/util/qmltimer.cpp | 2 | ||||
-rw-r--r-- | tests/auto/declarative/qmltimer/tst_qmltimer.cpp | 9 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/declarative/util/qmltimer.cpp b/src/declarative/util/qmltimer.cpp index da60193..9b54337 100644 --- a/src/declarative/util/qmltimer.cpp +++ b/src/declarative/util/qmltimer.cpp @@ -303,7 +303,9 @@ void QmlTimer::finished() if (d->repeating || !d->running) return; emit triggered(); + d->running = false; d->firstTick = false; + emit runningChanged(); } QT_END_NAMESPACE diff --git a/tests/auto/declarative/qmltimer/tst_qmltimer.cpp b/tests/auto/declarative/qmltimer/tst_qmltimer.cpp index 63a9a09..d681fbb 100644 --- a/tests/auto/declarative/qmltimer/tst_qmltimer.cpp +++ b/tests/auto/declarative/qmltimer/tst_qmltimer.cpp @@ -105,6 +105,7 @@ void tst_qmltimer::notRepeating() QCOMPARE(helper.count, 1); QTest::qWait(TIMEOUT_TIMEOUT); QCOMPARE(helper.count, 1); + QVERIFY(timer->isRunning() == false); } void tst_qmltimer::notRepeatingStart() @@ -126,6 +127,7 @@ void tst_qmltimer::notRepeatingStart() QCOMPARE(helper.count, 1); QTest::qWait(TIMEOUT_TIMEOUT); QCOMPARE(helper.count, 1); + QVERIFY(timer->isRunning() == false); delete timer; } @@ -147,11 +149,14 @@ void tst_qmltimer::repeat() QTest::qWait(TIMEOUT_TIMEOUT); QVERIFY(helper.count > oldCount); + QVERIFY(timer->isRunning()); oldCount = helper.count; timer->stop(); + QTest::qWait(TIMEOUT_TIMEOUT); QVERIFY(helper.count == oldCount); + QVERIFY(timer->isRunning() == false); delete timer; } @@ -173,6 +178,7 @@ void tst_qmltimer::triggeredOnStart() QCOMPARE(helper.count, 2); QTest::qWait(TIMEOUT_TIMEOUT); QCOMPARE(helper.count, 2); + QVERIFY(timer->isRunning() == false); delete timer; } @@ -194,6 +200,7 @@ void tst_qmltimer::triggeredOnStartRepeat() int oldCount = helper.count; QTest::qWait(TIMEOUT_TIMEOUT); QVERIFY(helper.count > oldCount); + QVERIFY(timer->isRunning()); delete timer; } @@ -234,6 +241,7 @@ void tst_qmltimer::changeDuration() QTest::qWait(600); QCOMPARE(helper.count, 3); + QVERIFY(timer->isRunning()); delete timer; } @@ -259,6 +267,7 @@ void tst_qmltimer::restart() QTest::qWait(700); QCOMPARE(helper.count, 2); + QVERIFY(timer->isRunning()); delete timer; } |