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 679291 - GtkTreeView: cursor-changed signal should not be emitted during destroy cycle
GtkTreeView: cursor-changed signal should not be emitted during destroy cycle
Status: RESOLVED DUPLICATE of bug 671939
Product: gtk+
Classification: Platform
Component: Widget: GtkTreeView
3.4.x
Other Linux
: Normal normal
: ---
Assigned To: gtktreeview-bugs
gtktreeview-bugs
: 684715 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2012-07-03 00:23 UTC by John Lindgren
Modified: 2015-08-13 10:12 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Don't emit "cursor-changed" during destroy cycle (421 bytes, text/plain)
2012-07-03 00:23 UTC, John Lindgren
Details

Description John Lindgren 2012-07-03 00:23:55 UTC
Created attachment 217892 [details]
Don't emit "cursor-changed" during destroy cycle

Bug is present in GTK+ 3.4.3.

Brief call stack:
  gtk_tree_view_destroy() calls
  gtk_tree_view_set_model(), which calls
  gtk_tree_view_real_set_cursor(),
  which emits the "cursor-changed" signal on the GtkTreeView.

This leads to unexpected situations for handlers installed on the "cursor-changed" signal, such as gtk_tree_view_get_selection() returning NULL.

The attached patch checks gtk_widget_in_destruction() before emitting the "cursor-changed" signal.

Originally reported as http://redmine.audacious-media-player.org/issues/141.
Comment 1 André Klapper 2012-07-09 09:58:14 UTC
Thanks for the bug report. This particular bug has already been reported into our bug tracking system, but please feel free to report any further bugs you find.

*** This bug has been marked as a duplicate of bug 671939 ***
Comment 2 Milan Crha 2015-08-13 10:12:23 UTC
*** Bug 684715 has been marked as a duplicate of this bug. ***