Summary: | amide crashes in error path with oxygen-gtk | ||
---|---|---|---|
Product: | [Plasma] Oxygen | Reporter: | Dave Gilbert <gilbertd+kde> |
Component: | gtk2-engine | Assignee: | Hugo Pereira Da Costa <hugo.pereira.da.costa> |
Status: | CLOSED FIXED | ||
Severity: | normal | CC: | b7.10110111, web |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Dave Gilbert
2011-02-17 21:02:21 UTC
What version of gtk+-2.0 do you have? Ah, i see, 2.24.0. Some versions: gtk2-engines-oxygen 1.0.2-0ubuntu1 amide 0.9.2-1ubuntu1 libgtk2.0-0 2.24.0-0ubuntu3 libkdecore5 4:4.6.0-0ubuntu3 Isn't the fix here to ask Gtk to either check the value in gtk_dialog_set_alternative_button_order_valist or provide an interface to test if the dialog has a particular button? Dave Well, it does have such interface - here's how this function works: child = dialog_find_button (dialog, response_id); gtk_box_reorder_child (GTK_BOX (dialog->action_area), child, position); So, we'll have to use dialog_find_button to check if the button is present and use *_valist version of function with valid response ids only instead. I'll fix this when i have enough time (or Hugo will if he comes here earlier). Ah, yeah, patches are welcome if you want to solve this faster ;) Well I was about to write such a patch; the problem is that dialog_find_button is a static function within gtk, I don't see an external function that wraps it. Dave Git commit b5a9fa63c7ff65b5615af5981e7d7b7f3f1f580c by Ruslan Kabatsayev. Committed on 18/02/2011 at 21:56. Pushed by kabatsayev into branch '1.0'. Don't set dialog button order for responses which don't exist on the dialog CCBUG: 266561 M +24 -13 src/animations/oxygendialogengine.cpp M +25 -0 src/oxygengtkutils.cpp M +3 -0 src/oxygengtkutils.h http://commits.kde.org/oxygen-gtk/b5a9fa63c7ff65b5615af5981e7d7b7f3f1f580c @Dave The above should fix it. Please tell if it fixes for you. Hey Ruslan - that works great! Patched it on top of the Ubuntu packages, and tested before and after application and it goes away nicely. Nice work! Dave OK, then please mark this bug as fixed. |