fontchooser: Fix objects-finalize test

The treeview is evil and keeps reference cycles in the
form of various tree row references. That gets cleaned up
if you explicitly gtk_widget_destroy the treeview. But since
07f2024bfc, the scrolled window no longer destroys
its child, exposing this issue as a reference leak in
the objects-finalize test.

The font chooser widget is affected here because it calls
gtk_tree_view_scroll_to_path from init(), which creates one
of those reference cycles. Work around this in the font
chooser by unsetting the tree view model in dispose, which
clears up this cycle.
This commit is contained in:
Matthias Clasen 2020-01-14 15:25:27 -05:00
parent d03f38470e
commit 042537cf0d

View File

@ -716,6 +716,7 @@ gtk_font_chooser_widget_dispose (GObject *object)
GtkFontChooserWidget *self = GTK_FONT_CHOOSER_WIDGET (object);
GtkFontChooserWidgetPrivate *priv = gtk_font_chooser_widget_get_instance_private (self);
gtk_tree_view_set_model (GTK_TREE_VIEW (priv->family_face_list), NULL);
g_clear_pointer (&priv->stack, gtk_widget_unparent);
G_OBJECT_CLASS (gtk_font_chooser_widget_parent_class)->dispose (object);