Change in KActionCollection::setComponentData

Michael Jansen kde at
Wed Mar 26 20:02:43 GMT 2008


I just commited a rather invasive change for this method. The method will fail 
if you try to set the Component for a action collection that contains actions.

The change was discussed on irc is needed because all triggers having to 
register the shortcut somewhere need a unique id. That's currently "component 
name + action id". 

That change immediately broke kate and konqueror and i guess it will break 
many kpart applications. It manifests in 

ASSERT: \"count()==0\" in file /home/kde-
devel/src/KDE/kdelibs/kdeui/actions/kactioncollection.cpp, line 162

and the solution is to first set the component data and then fill the action 
collection. Thats means for KPart::MainWindows calling setComponentData as 
soon as possible. Konqueror didn't do that and i fixed it. Please double check 
for side effects 790494 .

Kate is next. My guess is that most/all kpart based application break.

Please don't shoot the messenger. I'm just trying to enforce all assumptions 
made by the global shortcuts code to see what breaks. I think a loud bang is 
better than many small problems.


Michael Jansen
Available for contract work ( Development / Configuration Management )

More information about the kde-core-devel mailing list