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

List:       kde-commits
Subject:    KDE_3_2_BRANCH: kdelibs/kdecore
From:       Waldo Bastian <bastian () kde ! org>
Date:       2004-05-06 15:00:07
Message-ID: 20040506150007.0D8AF1BAD () office ! kde ! org
[Download RAW message or body]

CVS commit by waba: 

Fix bug 71769: KAcceleratorManager::manage() doesn't manage the widget itself,
just the children.
Patch by Robby Stephenson


  M +70 -66    kaccelmanager.cpp   1.30.2.1


--- kdelibs/kdecore/kaccelmanager.cpp  #1.30:1.30.2.1
@@ -117,4 +117,5 @@ private:
   static void traverseChildren(QWidget *widget, Item *item);
 
+  static void manageWidget(QWidget *widget, Item *item);
   static void manageMenuBar(QMenuBar *mbar, Item *item);
   static void manageTabBar(QTabBar *bar, Item *item);
@@ -181,5 +182,5 @@ void KAcceleratorManagerPrivate::manage(
     Item *root = new Item;
 
-    traverseChildren(widget, root);
+    manageWidget(widget, root);
 
     QString used;
@@ -264,4 +265,11 @@ void KAcceleratorManagerPrivate::travers
         continue;
 
+    manageWidget(w, item);
+  }
+  delete childList;
+}
+
+void KAcceleratorManagerPrivate::manageWidget(QWidget *w, Item *item)
+{
     // first treat the special cases
 
@@ -269,5 +277,5 @@ void KAcceleratorManagerPrivate::travers
     {
         manageTabBar(static_cast<QTabBar*>(w), item);
-        continue;
+      return;
     }
 
@@ -276,5 +284,5 @@ void KAcceleratorManagerPrivate::travers
         // create a popup accel manager that can deal with dynamic menus
         KPopupAccelManager::manage(static_cast<QPopupMenu*>(w));
-        continue;
+      return;
     }
 
@@ -282,5 +290,5 @@ void KAcceleratorManagerPrivate::travers
     {
         manageMenuBar(static_cast<QMenuBar*>(w), item);
-        continue;
+      return;
     }
 
@@ -288,5 +296,5 @@ void KAcceleratorManagerPrivate::travers
         w->inherits("QTextEdit") || w->inherits("QTextView") ||
         w->inherits("QSpinBox"))
-        continue;
+      return;
 
     // now treat 'ordinary' widgets
@@ -338,8 +346,5 @@ void KAcceleratorManagerPrivate::travers
       }
     }
-
     traverseChildren(w, item);
-  }
-  delete childList;
 }
 


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

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