--Boundary-00=_zm7lGtaXrnfLL2K Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline It is failing both in 3.5 and 4.0 branch on RMB popup menu of kpdf/okular (possibly on other places too) The attached patch fixes the problem for me, but i have to admit i don't have much Accelerator-foo so reviews are VERY welcome. Any objections in committing it to both 3.5 and 4.0 branch? Albert --Boundary-00=_zm7lGtaXrnfLL2K Content-Type: text/x-diff; charset="us-ascii"; name="40.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="40.patch" Index: shortcuts/kacceleratormanager.cpp =================================================================== --- shortcuts/kacceleratormanager.cpp (revision 686582) +++ shortcuts/kacceleratormanager.cpp (working copy) @@ -268,7 +268,7 @@ // Ignore unless we have the direct parent if(qobject_cast(w->parent()) != widget) continue; - if ( !w->isVisibleTo( widget ) || w->isTopLevel() ) + if ( !w->isVisibleTo( widget ) || (w->isTopLevel() && dynamic_cast(w) == NULL) ) continue; if ( KAcceleratorManagerPrivate::ignored_widgets.find( w ) != KAcceleratorManagerPrivate::ignored_widgets.end() ) --Boundary-00=_zm7lGtaXrnfLL2K Content-Type: text/x-diff; charset="us-ascii"; name="35.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="35.patch" Index: kaccelmanager.cpp =================================================================== --- kaccelmanager.cpp (revision 687464) +++ kaccelmanager.cpp (working copy) @@ -267,7 +267,7 @@ { QWidget *w = static_cast(it); - if ( !w->isVisibleTo( widget ) || w->isTopLevel() ) + if ( !w->isVisibleTo( widget ) || (w->isTopLevel() && dynamic_cast(w) == NULL) ) continue; if ( KAcceleratorManagerPrivate::ignored_widgets.find( w ) != KAcceleratorManagerPrivate::ignored_widgets.end() ) --Boundary-00=_zm7lGtaXrnfLL2K--