After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 522542 - glade-3 crashes when pressing Enter in signal handler entry field
glade-3 crashes when pressing Enter in signal handler entry field
Status: RESOLVED FIXED
Product: glade
Classification: Applications
Component: general
3.4.x
Other All
: Normal critical
: ---
Assigned To: Glade 3 Maintainers
Glade 3 Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-03-15 02:02 UTC by Andrew Zabolotny
Modified: 2009-01-05 20:36 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Comment out two lines in row_activated() of glade_signal_editor.c (604 bytes, patch)
2008-12-19 17:52 UTC, Tal Benavidor
none Details | Review

Description Andrew Zabolotny 2008-03-15 02:02:40 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.

Thread 46912496354048 (LWP 20248)

  • #0 gtk_widget_destroy
    from /lib64/libglib-2.0.so.0
  • #1 g_utf8_normalize
    from /lib64/libglib-2.0.so.0
  • #2 gtk_entry_completion_complete
    from /usr/lib64/libgtk-x11-2.0.so.0
  • #3 gtk_widget_destroy
    from /usr/lib64/libgtk-x11-2.0.so.0
  • #4 gtk_widget_destroy
    from /lib64/libgobject-2.0.so.0
  • #5 g_closure_invoke
    from /lib64/libgobject-2.0.so.0
  • #6 gtk_widget_destroy
    from /lib64/libgobject-2.0.so.0
  • #7 g_main_context_dispatch
    from /lib64/libglib-2.0.so.0
  • #8 gtk_widget_destroy
    from /lib64/libglib-2.0.so.0
  • #9 g_main_loop_run
    from /lib64/libglib-2.0.so.0
  • #10 gtk_main
    from /usr/lib64/libgtk-x11-2.0.so.0
  • #11 gtk_widget_destroy
  • #12 __libc_start_main
    from /lib64/libc.so.6
  • #13 gtk_widget_destroy
  • #14 ??
  • #15 ??


Other information:
If instead of pressing Enter second time you click with mouse on a different entry, the combobox is destroyed correctly.
Comment 1 Tal Benavidor 2008-12-18 21:23:19 UTC
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.
Comment 2 Tal Benavidor 2008-12-19 16:24:57 UTC
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
Comment 3 Tal Benavidor 2008-12-19 17:52:25 UTC
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.
Comment 4 Tristan Van Berkom 2008-12-20 04:59:56 UTC
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.

Comment 5 Juan Pablo Ugarte 2009-01-05 20:36:23 UTC
fixed in trunk
thanks for reporting