diff options
author | Timur Artikov <t.artikov@gmail.com> | 2014-04-17 10:31:39 +0700 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-04-29 03:27:26 +0200 |
commit | 4833e5080c75a1f52a3040db5118fea5701d930e (patch) | |
tree | 0b4e776984f9f31eb0f2b9f348293bf297894e46 /src/corelib/animation | |
parent | 9f6a0300a5ab5996a97b27bc8ada55f41e3ca517 (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.cpp | 7 |
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()) ? |