summaryrefslogtreecommitdiffstats
path: root/src/corelib/animation
diff options
context:
space:
mode:
authorTimur Artikov <t.artikov@gmail.com>2014-04-17 10:31:39 +0700
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-04-29 03:27:26 +0200
commit4833e5080c75a1f52a3040db5118fea5701d930e (patch)
tree0b4e776984f9f31eb0f2b9f348293bf297894e46 /src/corelib/animation
parent9f6a0300a5ab5996a97b27bc8ada55f41e3ca517 (diff)
Allow to control animations frame rate from a custom QAnimationDriver
Don't use time from the global timer (QUnifiedTimer::time.elapsed()) for animations updating when an user overrides QAnimationDriver::elapsed() Task-number: QTBUG-38390 Change-Id: Ic1470b43d8bbc0ee0a2bbb87f7173f97ba03f852 Reviewed-by: Michael Brasser <michael.brasser@live.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Diffstat (limited to 'src/corelib/animation')
-rw-r--r--src/corelib/animation/qabstractanimation.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/corelib/animation/qabstractanimation.cpp b/src/corelib/animation/qabstractanimation.cpp
index f7bb1e91bd..95d7713cfe 100644
--- a/src/corelib/animation/qabstractanimation.cpp
+++ b/src/corelib/animation/qabstractanimation.cpp
@@ -253,8 +253,9 @@ QUnifiedTimer *QUnifiedTimer::instance()
void QUnifiedTimer::maybeUpdateAnimationsToCurrentTime()
{
- if (time.elapsed() - lastTick > 50)
- updateAnimationTimers(driver->elapsed());
+ qint64 elapsed = driver->elapsed();
+ if (elapsed - lastTick > 50)
+ updateAnimationTimers(elapsed);
}
void QUnifiedTimer::updateAnimationTimers(qint64 currentTick)
@@ -263,7 +264,7 @@ void QUnifiedTimer::updateAnimationTimers(qint64 currentTick)
if(insideTick)
return;
- qint64 totalElapsed = currentTick >= 0 ? currentTick : time.elapsed();
+ qint64 totalElapsed = currentTick >= 0 ? currentTick : driver->elapsed();
// ignore consistentTiming in case the pause timer is active
qint64 delta = (consistentTiming && !pauseTimer.isActive()) ?