Input how to fix bug with kextendableitemdelegate

Michael Jansen info at michael-jansen.biz
Sun Feb 17 13:39:03 GMT 2008


Hi

I'm new to kde development so i would like to have your opinion with a bug im
trying to fix. I hope my description is clear enough.

There is a bug in "systemsettings" -> "keyboard & mouse". Open it. Select the
arrow for "Pack Window Down" so that the kshortcuteditwidget gets mixed into
the treeview. Select another kde component at the top ( kxkb for example ).
The items change but the Shortcuts Editor ist still there. You can reproduce
it as often as you wish.

Close the application -> Assertion failure.

The reason is that kextendableitemdelegate stores the index when mixing in the
kshortcuteditwidget. But when selecting a new component the treeview is
cleared and refilled.  All items get deleted. But the kextendableitemdelegate
doesn't get the memo.  Hence the kshortcuteditwidget doesn't get deleted
and/or removed.  The assertion that fails tries to verify that the indices are
still valid when the delegate is deleted.

Solution: ??

I think the kextendableitemdelegate has to listen to the rowsAboutToBeRemoved
signal from the treeview. Other ideas?

Michael Jansen





More information about the kde-core-devel mailing list