Index: kdecore/kaccel.cpp
===================================================================
RCS file: /home/kde/kdelibs/kdecore/kaccel.cpp,v
retrieving revision 1.146
diff -u -r1.146 kaccel.cpp
--- kdecore/kaccel.cpp	27 May 2004 08:43:47 -0000	1.146
+++ kdecore/kaccel.cpp	28 May 2004 20:38:10 -0000
@@ -23,6 +23,7 @@
 #include <qpopupmenu.h>
 #include <qstring.h>
 #include <qtimer.h>
+#include <qsignal.h>
 
 #include "kaccelbase.h"
 #include <kapplication.h>
@@ -293,9 +294,10 @@
 	kdDebug(125) << "KAccelPrivate::slotMenuActivated( " << iAction << " )" << endl;
 	KAccelAction* pAction = actions().actionPtr( iAction );
 	if( pAction ) {
-		connect( this, SIGNAL(menuItemActivated()), pAction->objSlotPtr(), pAction->methodSlotPtr() );
 		emit menuItemActivated();
-		disconnect( this, SIGNAL(menuItemActivated()), pAction->objSlotPtr(), pAction->methodSlotPtr() );
+                QSignal qsig;
+                qsig.connect( pAction->objSlotPtr(), pAction->methodSlotPtr() );
+                qsig.activate();
 	}
 }
 
@@ -316,9 +318,10 @@
 					KAccelAction* pAction = m_mapIDToAction[nID];
 					if( !pAction->isEnabled() )
 						continue;
-					connect( this, SIGNAL(menuItemActivated()), pAction->objSlotPtr(), pAction->methodSlotPtr() );
-					emit menuItemActivated();
-					disconnect( this, SIGNAL(menuItemActivated()), pAction->objSlotPtr(), pAction->methodSlotPtr() );
+                                        emit menuItemActivated();
+                                        QSignal qsig;
+                                        qsig.connect( pAction->objSlotPtr(), pAction->methodSlotPtr() );
+                                        qsig.activate();
 				} else
 					slotKeyPressed( nID );
 
