From 497e877755f1fa165cdc8d14bf6b020d89c8ad2e Mon Sep 17 00:00:00 2001 From: Daniel Boles Date: Fri, 6 Oct 2017 20:24:49 +0100 Subject: [PATCH] TreeViewCol: Fix SEGV on remove/add, + memory leak MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Nulling priv->button in _unset_tree_view() is asymmetrical: we create it via init(), not _set_tree_view(), so we shouldn’t null in the latter. Worse, doing so manifests in criticals + a SEGV easily with basic use of testtreecolumns, removing the TVC from a TV then trying to add it to one Finally, the wrong null-out meant dispose() failed to unref the button, so it leaked. https://bugzilla.gnome.org/show_bug.cgi?id=728452 https://bugzilla.gnome.org/show_bug.cgi?id=788614 --- gtk/gtktreeviewcolumn.c | 1 - 1 file changed, 1 deletion(-) diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index 9dd368ab8e..34a603234a 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -1350,7 +1350,6 @@ _gtk_tree_view_column_unset_tree_view (GtkTreeViewColumn *column) } priv->tree_view = NULL; - priv->button = NULL; } gboolean