diff options
Diffstat (limited to 'src/qml/types/qqmltimer.cpp')
-rw-r--r-- | src/qml/types/qqmltimer.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/qml/types/qqmltimer.cpp b/src/qml/types/qqmltimer.cpp index 879970b962..fb500426f3 100644 --- a/src/qml/types/qqmltimer.cpp +++ b/src/qml/types/qqmltimer.cpp @@ -329,7 +329,11 @@ bool QQmlTimer::event(QEvent *e) ticked(); return true; } else if (e->type() == QEvent_Triggered) { - emit triggered(); + if (d->running && d->pause.isStopped()) { + d->running = false; + emit triggered(); + emit runningChanged(); + } return true; } return QObject::event(e); @@ -340,10 +344,8 @@ void QQmlTimerPrivate::animationFinished(QAbstractAnimationJob *) Q_Q(QQmlTimer); if (repeating || !running) return; - running = false; firstTick = false; QCoreApplication::postEvent(q, new QEvent(QEvent_Triggered)); - emit q->runningChanged(); } QT_END_NAMESPACE |