summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/declarative/util/qmlanimation.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/declarative/util/qmlanimation.cpp b/src/declarative/util/qmlanimation.cpp
index dd4e1eb..24bcac98 100644
--- a/src/declarative/util/qmlanimation.cpp
+++ b/src/declarative/util/qmlanimation.cpp
@@ -243,8 +243,12 @@ void QmlAbstractAnimation::setRunning(bool r)
d->startOnCompletion = true;
emit started();
} else {
- if (!d->finishPlaying)
+ if (d->finishPlaying) {
+ if (d->repeat)
+ qtAnimation()->setLoopCount(qtAnimation()->currentLoop()+1);
+ } else
qtAnimation()->stop();
+
emit completed();
}
@@ -512,7 +516,11 @@ void QmlAbstractAnimation::transition(QmlStateActions &actions,
void QmlAbstractAnimation::timelineComplete()
{
+ Q_D(QmlAbstractAnimation);
setRunning(false);
+ if (d->finishPlaying && d->repeat) {
+ qtAnimation()->setLoopCount(-1);
+ }
}
/*!