diff --git a/src/corelib/animation/qabstractanimation.cpp b/src/corelib/animation/qabstractanimation.cpp index 7d74de8e44..d43ca51bc1 100644 --- a/src/corelib/animation/qabstractanimation.cpp +++ b/src/corelib/animation/qabstractanimation.cpp @@ -580,6 +580,8 @@ qint64 QAnimationDriver::elapsed() const QDefaultAnimationDriver::QDefaultAnimationDriver(QUnifiedTimer *timer) : QAnimationDriver(0), m_unified_timer(timer) { + connect(this, SIGNAL(started()), this, SLOT(startTimer())); + connect(this, SIGNAL(stopped()), this, SLOT(stopTimer())); } void QDefaultAnimationDriver::timerEvent(QTimerEvent *e) @@ -589,12 +591,12 @@ void QDefaultAnimationDriver::timerEvent(QTimerEvent *e) advance(); } -void QDefaultAnimationDriver::started() +void QDefaultAnimationDriver::startTimer() { m_timer.start(m_unified_timer->timingInterval, this); } -void QDefaultAnimationDriver::stopped() +void QDefaultAnimationDriver::stopTimer() { m_timer.stop(); } diff --git a/src/corelib/animation/qabstractanimation_p.h b/src/corelib/animation/qabstractanimation_p.h index de26987721..3389414995 100644 --- a/src/corelib/animation/qabstractanimation_p.h +++ b/src/corelib/animation/qabstractanimation_p.h @@ -124,8 +124,9 @@ public: QDefaultAnimationDriver(QUnifiedTimer *timer); void timerEvent(QTimerEvent *e); - void started(); - void stopped(); +private Q_SLOTS: + void startTimer(); + void stopTimer(); private: QBasicTimer m_timer;