Change in KActionCollection::setComponentData

Michael Jansen kde at michael-jansen.biz
Wed Mar 26 20:21:02 GMT 2008


Hi

I should add that only debug builds fail. It's an assert. In release mode 
everything stays the same plus a kWarning.

If you find a applications that is broken either fix it or answer to this 
thread. I will fix it then.

Mike

Am Mittwoch 26 März 2008 21:02:43 schrieb Michael Jansen:
> Hi
>
> 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.
>
> Mike


-- 
Michael Jansen
Available for contract work ( Development / Configuration Management )
http://www.michael-jansen.biz




More information about the kde-core-devel mailing list