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

List:       kde-commits
Subject:    kdebase/kicker/taskmanager
From:       Stefan Nikolaus <stefan.nikolaus () kdemail ! net>
Date:       2005-02-18 8:46:27
Message-ID: 20050218084627.EB7131D159 () office ! kde ! org
[Download RAW message or body]

CVS commit by nikolaus: 

- a little speedup
- decrementing QValueList::begin() causes undefined results: one of those seldom \
cases for a do-while-loop


  M +22 -9     taskmanager.cpp   1.85


--- kdebase/kicker/taskmanager/taskmanager.cpp  #1.84:1.85
@@ -65,6 +65,9 @@ TaskManager::TaskManager()
     // register existing windows
     const QValueList<WId> windows = m_winModule->windows();
-    for (QValueList<WId>::ConstIterator it = windows.begin(); it != windows.end(); \
++it ) +    QValueList<WId>::ConstIterator end(windows.end());
+    for (QValueList<WId>::ConstIterator it = windows.begin(); it != end; ++it)
+    {
     windowAdded(*it);
+    }
 
     // set active window
@@ -336,16 +339,26 @@ bool TaskManager::isOnTop(const Task* ta
     if(!task) return false;
 
-    for (QValueList<WId>::ConstIterator it = \
                m_winModule->stackingOrder().fromLast();
-         it != m_winModule->stackingOrder().end(); --it) {
-        for (Task* t = _tasks.first(); t != 0; t = _tasks.next() ) {
-            if ( (*it) == t->window() ) {
-                if ( t == task )
+    QValueList<WId>::ConstIterator begin(m_winModule->stackingOrder().constBegin());
+    QValueList<WId>::ConstIterator it = m_winModule->stackingOrder().fromLast();
+    do
+    {
+        for (Task* t = _tasks.first(); t != 0; t = _tasks.next())
+        {
+            if ((*it) == t->window())
+            {
+                if (t == task)
+                {
                     return true;
-                if ( !t->isIconified() && (t->isAlwaysOnTop() == \
task->isAlwaysOnTop()) ) +                }
+                if (!t->isIconified() &&
+                    (t->isAlwaysOnTop() == task->isAlwaysOnTop()))
+                {
                     return false;
-                break;
             }
+                break;
         }
     }
+    } while (it-- != begin);
+
     return false;
 }


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

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