summaryrefslogtreecommitdiffstats
path: root/src/corelib
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib')
-rw-r--r--src/corelib/animation/qabstractanimation.cpp6
-rw-r--r--src/corelib/animation/qabstractanimation_p.h1
2 files changed, 4 insertions, 3 deletions
diff --git a/src/corelib/animation/qabstractanimation.cpp b/src/corelib/animation/qabstractanimation.cpp
index 28a09ee2e4..4e9ee5c3f9 100644
--- a/src/corelib/animation/qabstractanimation.cpp
+++ b/src/corelib/animation/qabstractanimation.cpp
@@ -877,6 +877,7 @@ void QAnimationDriver::start()
Q_D(QAnimationDriver);
if (!d->running) {
d->running = true;
+ d->timer.start();
emit started();
}
}
@@ -900,9 +901,8 @@ void QAnimationDriver::stop()
qint64 QAnimationDriver::elapsed() const
{
- // The default implementation picks up the elapsed time from the
- // unified timer and can ignore the time offset.
- return QUnifiedTimer::instance()->time.elapsed();
+ Q_D(const QAnimationDriver);
+ return d->running ? d->timer.elapsed() : 0;
}
/*!
diff --git a/src/corelib/animation/qabstractanimation_p.h b/src/corelib/animation/qabstractanimation_p.h
index 6e71356c4c..2b36a678bc 100644
--- a/src/corelib/animation/qabstractanimation_p.h
+++ b/src/corelib/animation/qabstractanimation_p.h
@@ -133,6 +133,7 @@ class Q_CORE_EXPORT QAnimationDriverPrivate : public QObjectPrivate
{
public:
QAnimationDriverPrivate() : running(false) {}
+ QElapsedTimer timer;
bool running;
};