The underyling issue appears to be a race condition, i.e. the crash
depends on the timing of things. To explain, after changing the window
size, Yakuake used to update the Height and Width menus by clearing them
and then re-filling them with new actions. This used to work fine, but
in Qt 4.5 it can crash inside QMenu::findIdForAction(), presumably
because the action it's looking for has already been deleted. I have not
had the time yet to investigate whether Qt is "legitimate" in crashing
here - I would think not, since deleting an action at any time after it
has been triggered should be fine.

In any case, the approach Yakuake took here was a lazy one, and the
"workaround" is simply not to delete and recreate the actions after size
changes, but re-use the existing ones, marking the appropriate one (e.g.
"30%" after switching to that height) as checked. Even if the crash in
Qt were to disappear, Yakuake will continue to use this "workaround"
since it simply happens to be better and more efficient code.

-- 
Yakuake crashes when changing height in the Yakuake menu
https://bugs.launchpad.net/bugs/358415
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to