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

List:       kde-commits
Subject:    KDE/kdelibs/kdeui/actions
From:       David Faure <faure () kde ! org>
Date:       2009-08-18 19:53:23
Message-ID: 1250625203.962306.611.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1013099 by dfaure:

Use queued connection in order to fix crash when editing toolbars; the xmlgui-rebuilding was
deleting the menuitem that called this slot in the first place, and this is a nice and easy
way to decouple the two things. Will backport for 4.3.1.
BUG: 200815


 M  +9 -6      kstandardaction.cpp  


--- trunk/KDE/kdelibs/kdeui/actions/kstandardaction.cpp #1013098:1013099
@@ -198,12 +198,15 @@
   }
 
   if (recvr && slot) {
-    if (id != OpenRecent)
-      QObject::connect(pAction, SIGNAL(triggered(bool)), recvr, slot);
-    else
-      // FIXME KAction port: probably a good idea to find a cleaner way to do this
-      // Open Recent is a special case - provide the selected URL
-      QObject::connect(pAction, SIGNAL(urlSelected(const KUrl &)), recvr, slot);
+      if (id == OpenRecent) {
+          // FIXME KAction port: probably a good idea to find a cleaner way to do this
+          // Open Recent is a special case - provide the selected URL
+          QObject::connect(pAction, SIGNAL(urlSelected(const KUrl &)), recvr, slot);
+      } else if (id == ConfigureToolbars) { // #200815
+          QObject::connect(pAction, SIGNAL(triggered(bool)), recvr, slot, Qt::QueuedConnection);
+      } else {
+          QObject::connect(pAction, SIGNAL(triggered(bool)), recvr, slot);
+      }
   }
 
   KActionCollection *collection = qobject_cast<KActionCollection *>(parent);
[prev in list] [next in list] [prev in thread] [next in thread] 

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