From 042537cf0d3fc68527fba890dfa54d16a8538f4e Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 14 Jan 2020 15:25:27 -0500 Subject: [PATCH] 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 07f2024bfca22331121, 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. --- gtk/gtkfontchooserwidget.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gtk/gtkfontchooserwidget.c b/gtk/gtkfontchooserwidget.c index a0a9449421..686a8de13a 100644 --- a/gtk/gtkfontchooserwidget.c +++ b/gtk/gtkfontchooserwidget.c @@ -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); -- 2.30.2