GNOME Bugzilla – Bug 522542
glade-3 crashes when pressing Enter in signal handler entry field
Last modified: 2009-01-05 20:36:23 UTC
Steps to reproduce: 1. Run glade-3 2. Create a window 3. Go immediately to the Signals page 4. Click quickly three times in sequence the "Handler" column of the, say, activate-focus signal. Take note that there's no text cursor in the combobox entry. If it is there, try clicking three times on another entry until you get the entry without cursor. 5. Now just press Enter. After that a orphan combobox entry will stay at that position and never disappears. If you try to enter something into this entry and press Enter, glade crashes. Stack trace: Program received signal SIGSEGV, Segmentation fault.
+ Trace 192453
Thread 46912496354048 (LWP 20248)
Other information: If instead of pressing Enter second time you click with mouse on a different entry, the combobox is destroyed correctly.
i can confirm this bug: i tested it both on glade 3.4.5 from ubuntu intrepid (binary, not compiled it myself), and the latest trunk. It happens on both.
after (In reply to comment #0) > Steps to reproduce: ... > 5. Now just press Enter. After that a orphan combobox entry will stay at that > position and never disappears. Just after pressing this ENTER, the console shows: (glade-3:28888): Gtk-CRITICAL **: _gtk_tree_view_column_start_editing: assertion `tree_column->editable_widget == NULL' failed I found it in gtk+ source in the file: gtk+/gtk/gtktreeviewcolumn.c
Created attachment 125017 [details] [review] Comment out two lines in row_activated() of glade_signal_editor.c VERY simple patch. Just commented out two lines in row_activated() in glade_signal_editor.c. I think that: 1. The bug does not occur with the patched code. 2. No functionality was lost. I'm pretty sure about 1, and less sure about 2. More then that, I have no idea why this fixes the problem, and if it is a good fix. Unfortunately, I have next to no knowledge in gnome/gtk, and this patch is just a result of guesswork. I hope it can give clues to more a knowledgeable person.
Aha I see, looks like it should be done in an idle handler (we have a bunch of idle handlers around treeviews for focus management because of this kind of race/recursion situation). I will only be around to look at patches on tuesday, note that glade-signal-editor is old code and probably next on my refactoring list - if you cant find a fix without breaking the focus-to-cell code I dont blame you :) I'll have a deeper look this comming week though.
fixed in trunk thanks for reporting