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 548782 - When delete a row in gtktreeview, children-changed::remove should be emitted
When delete a row in gtktreeview, children-changed::remove should be emitted
Status: RESOLVED OBSOLETE
Product: gtk+
Classification: Platform
Component: Accessibility
unspecified
Other All
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2008-08-21 05:26 UTC by Li Yuan
Modified: 2018-04-15 00:36 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch (1.36 KB, patch)
2008-08-21 05:30 UTC, Li Yuan
committed Details | Review
full stacktrace (7.71 KB, text/plain)
2008-09-05 04:57 UTC, Matthias Clasen
  Details
patch (639 bytes, patch)
2008-09-05 08:05 UTC, Li Yuan
none Details | Review
patch (1.27 KB, patch)
2008-10-21 05:00 UTC, Matthias Clasen
none Details | Review

Description Li Yuan 2008-08-21 05:26:40 UTC
When delete a row in gtktreeview, children-changed::remove should be emitted.
Comment 1 Li Yuan 2008-08-21 05:30:22 UTC
Created attachment 117108 [details] [review]
patch
Comment 2 Matthias Clasen 2008-09-05 04:23:31 UTC
Li, this change causes the gdm greeter to crash:

(gdb) bt
  • #0 gtk_tree_model_get_valist
    from /usr/lib/libgtk-x11-2.0.so.0
  • #1 gtk_tree_model_get
    from /usr/lib/libgtk-x11-2.0.so.0
  • #2 name_cell_data_func
    at gdm-chooser-widget.c line 1412
  • #3 gtk_tree_view_column_cell_set_cell_data
    from /usr/lib/libgtk-x11-2.0.so.0
  • #4 gail_tree_view_ref_child
    at gailtreeview.c line 867
  • #5 atk_object_ref_accessible_child
    at atkobject.c line 668
  • #6 ??
    from /usr/lib/gtk-2.0/modules/libatk-bridge.so
  • #7 signal_emit_unlocked_R
    at gsignal.c line 3210
  • #8 IA__g_signal_emit_valist
    at gsignal.c line 2977
  • #9 IA__g_signal_emit_by_name
    at gsignal.c line 3071
  • #10 model_row_deleted
    at gailtreeview.c line 2970
  • #11 IA__g_cclosure_marshal_VOID__BOXED
    at gmarshal.c line 566

Comment 3 Li Yuan 2008-09-05 04:52:22 UTC
I believe this is another bug. People can't find it because gail doesn't emit the signal before. Can I have a full trace?
Comment 4 Matthias Clasen 2008-09-05 04:57:53 UTC
Created attachment 118074 [details]
full stacktrace
Comment 5 Li Yuan 2008-09-05 08:05:47 UTC
Created attachment 118085 [details] [review]
patch

Here is a patch for at-spi which may fix the crash. (Not for sure because I can not reproduce the crash.) It will be great that someone can test the patch. Thanks.
Comment 6 Matthias Clasen 2008-09-05 14:01:48 UTC
Seems to work fine in quick testing.
Comment 7 Matthias Clasen 2008-09-05 16:36:34 UTC
Ah, but it makes evolution crash now. whackamole...


Program received signal SIGSEGV, Segmentation fault.
0x00746915 in spi_atk_bridge_signal_listener (signal_hint=0xbfffe71c, 
    n_param_values=3, param_values=0x91d5720, data=0x80d08c8) at bridge.c:1165
1165	      else if (strcmp (detail, "add") == 0)
(gdb) print detail
$1 = (const gchar *) 0x0
(gdb) 
Comment 8 Matthias Clasen 2008-09-05 16:49:36 UTC
Adding a detail != NULL check to the condition fixes the evo crash
Comment 9 Li Yuan 2008-09-06 01:43:54 UTC
Yes. Thanks, Matthias. The datail should be "add" or "remove" ideally. I need to check why a children-changed is emitted without "add" or "remove".
Comment 10 Li Yuan 2008-09-06 01:46:17 UTC
I will file a bug on at-spi and release a new tarball with 2.23.92.
Comment 11 Matthias Clasen 2008-10-21 04:59:40 UTC
Here is a slightly more robust fix, see bug 530776. 
We still need to fix evolutions a11y code to emit this signal correctly.
Comment 12 Matthias Clasen 2008-10-21 05:00:41 UTC
Created attachment 120984 [details] [review]
patch
Comment 13 Li Yuan 2008-10-22 07:17:24 UTC
Thanks. After applying the patch, atk-bridge's behavior will be a little different if detail is null but child is an atkobject. I am not sure if some object is doing that...
Comment 14 Matthias Clasen 2018-02-10 05:26:02 UTC
We're moving to gitlab! As part of this move, we are moving bugs to NEEDINFO if they haven't seen activity in more than a year. If this issue is still important to you and still relevant with GTK+ 3.22 or master, please reopen it and we will migrate it to gitlab.
Comment 15 Matthias Clasen 2018-04-15 00:36:16 UTC
As announced a while ago, we are migrating to gitlab, and bugs that haven't seen activity in the last year or so will be not be migrated, but closed out in bugzilla.

If this bug is still relevant to you, you can open a new issue describing the symptoms and how to reproduce it with gtk 3.22.x or master in gitlab:

https://gitlab.gnome.org/GNOME/gtk/issues/new