Change in KActionCollection::setComponentData
parallelgrapefruit at gmail.com
Wed Mar 26 21:46:18 GMT 2008
On 3/26/08, Michael Jansen <kde at michael-jansen.biz> wrote:
> 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
This is going to cause bad breakage. It basically disallows anyone
from running kde4.0 apps against 4.1 libraries, a form of binary, or
perhaps behavioral, compatibility. This is not a good thing(tm).
> 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