[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-panel-devel
Subject:    [Panel-devel] [PATCH] Don't leak timers in taskbar
From:       "Maksim Orlovich" <mo85 () cornell ! edu>
Date:       2007-12-31 21:08:18
Message-ID: 1829.74.39.37.145.1199135298.squirrel () webmail ! cornell ! edu
[Download RAW message or body]

Hi... The plasma taskbar currently (as of the revision I have on my
laptop, anyway) seems to leak some timers, which shows up in CPU use
eventually climbing. The attached should fix at least one cause of that:
startTimer w/o killTimer. If you look at QObject::startTimer docs, it's
not single-shot, so single-shot use needs an explicit kill.

Anyway, if this is OK, it'd be good if someone committed...
I don't have good net access at the moment, so I might not be able to

-Maks

["plasma_timers.diff" (application/octet-stream)]

diff --git a/workspace/plasma/applets/tasks/abstracttaskitem.cpp \
b/workspace/plasma/applets/tasks/abstracttaskitem.cpp index 3b61e75..c2fd91f 100644
--- a/workspace/plasma/applets/tasks/abstracttaskitem.cpp
+++ b/workspace/plasma/applets/tasks/abstracttaskitem.cpp
@@ -103,6 +103,7 @@ void AbstractTaskItem::queueUpdate()
 void AbstractTaskItem::timerEvent(QTimerEvent *event)
 {
     if (event->timerId() == m_updateTimerId) {
+        killTimer(m_updateTimerId);
         update();
         m_updateTimerId = -1;
     }
diff --git a/workspace/plasma/applets/tasks/taskgroupitem.cpp \
b/workspace/plasma/applets/tasks/taskgroupitem.cpp index a5e1ed2..8a5151f 100644
--- a/workspace/plasma/applets/tasks/taskgroupitem.cpp
+++ b/workspace/plasma/applets/tasks/taskgroupitem.cpp
@@ -289,6 +289,7 @@ void TaskGroupItem::queueGeometryUpdate()
 void TaskGroupItem::timerEvent(QTimerEvent *event)
 {
     if (event->timerId() == m_geometryUpdateTimerId) {
+        killTimer(m_geometryUpdateTimerId);
         updateGeometry();
         m_geometryUpdateTimerId = -1;
     }



_______________________________________________
Panel-devel mailing list
Panel-devel@kde.org
https://mail.kde.org/mailman/listinfo/panel-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic