diff --git a/animator.cpp b/animator.cpp index cfdf79b68..d64689736 100644 --- a/animator.cpp +++ b/animator.cpp @@ -22,6 +22,7 @@ #include #include +#include #include #include @@ -548,6 +549,11 @@ bool Animator::isAnimating() const void Animator::timerEvent(QTimerEvent *event) { + if (event->timerId() != d->timerId) { + QObject::timerEvent(event); + return; + } + Q_UNUSED(event) bool animationsRemain = false; int elapsed = MIN_TICK_RATE; diff --git a/dataengine.cpp b/dataengine.cpp index 1691a7e8c..200b2e5c7 100644 --- a/dataengine.cpp +++ b/dataengine.cpp @@ -360,7 +360,7 @@ DataEngine::SourceDict DataEngine::containerDict() const void DataEngine::timerEvent(QTimerEvent *event) { if (event->timerId() != d->updateTimerId) { - kDebug() << "bzzzt"; + QObject::timerEvent(event); return; } diff --git a/private/datacontainer_p.cpp b/private/datacontainer_p.cpp index 0f58606ed..af48719eb 100644 --- a/private/datacontainer_p.cpp +++ b/private/datacontainer_p.cpp @@ -131,6 +131,11 @@ void SignalRelay::checkQueueing() void SignalRelay::timerEvent(QTimerEvent *event) { + if (event->timerId() != m_timerId) { + QObject::timerEvent(event); + return; + } + if (m_resetTimer) { killTimer(m_timerId); m_timerId = startTimer(m_interval); @@ -152,7 +157,6 @@ void SignalRelay::timerEvent(QTimerEvent *event) //kDebug() << "queued"; m_queued = true; } - event->accept(); } } // Plasma namespace diff --git a/widgets/busywidget.cpp b/widgets/busywidget.cpp index 75f835e39..c6396252d 100644 --- a/widgets/busywidget.cpp +++ b/widgets/busywidget.cpp @@ -84,7 +84,10 @@ BusyWidget::~BusyWidget() void BusyWidget::timerEvent(QTimerEvent *event) { - Q_UNUSED(event) + if (event->timerId() != d->timerId) { + QObject::timerEvent(event); + return; + } d->rotation += d->rotationAngle; @@ -142,8 +145,10 @@ void BusyWidget::showEvent(QShowEvent *event) void BusyWidget::hideEvent(QHideEvent *event) { Q_UNUSED(event) - if (d->timerId) + if (d->timerId) { killTimer(d->timerId); + } + d->timerId = 0; } diff --git a/widgets/flashinglabel.cpp b/widgets/flashinglabel.cpp index a57fe3187..1a5202a2e 100644 --- a/widgets/flashinglabel.cpp +++ b/widgets/flashinglabel.cpp @@ -55,7 +55,6 @@ class Plasma::FlashingLabelPrivate state(FlashingLabelPrivate::Invisible), autohide(false) { - //TODO: put this on a diet by using timerEvent instead? fadeOutTimer.setInterval(defaultDuration); fadeOutTimer.setSingleShot(true); fadeInTimer.setInterval(0);