diff options
author | Matthias Clasen <mclasen@redhat.com> | 2020-07-17 23:05:07 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2020-07-17 23:13:07 -0400 |
commit | 314c8558d71aff7089ef3c474ea1e0135abec5f2 (patch) | |
tree | 1a6897c625a46316cb5cf66eb17aa5307b3e2581 | |
parent | af30a7fe06b94cec6564f3684bebd4b6775de1bf (diff) | |
download | gtk+-314c8558d71aff7089ef3c474ea1e0135abec5f2.tar.gz |
inspector: Properly dispose GtkInspectorListData
-rw-r--r-- | gtk/inspector/list-data.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/gtk/inspector/list-data.c b/gtk/inspector/list-data.c index c51eee1ef1..596a4dbbdd 100644 --- a/gtk/inspector/list-data.c +++ b/gtk/inspector/list-data.c @@ -187,13 +187,15 @@ unbind_props (GtkSignalListItemFactory *factory, } static void -finalize (GObject *object) +dispose (GObject *object) { GtkInspectorListData *sl = GTK_INSPECTOR_LIST_DATA (object); + GtkWidget *child; - gtk_inspector_list_data_set_object (sl, NULL); + while ((child = gtk_widget_get_first_child (GTK_WIDGET (sl)))) + gtk_widget_unparent (child); - G_OBJECT_CLASS (gtk_inspector_list_data_parent_class)->finalize (object); + G_OBJECT_CLASS (gtk_inspector_list_data_parent_class)->dispose (object); } static void @@ -202,7 +204,7 @@ gtk_inspector_list_data_class_init (GtkInspectorListDataClass *klass) GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); - object_class->finalize = finalize; + object_class->dispose = dispose; gtk_widget_class_set_template_from_resource (widget_class, "/org/gtk/libgtk/inspector/list-data.ui"); gtk_widget_class_bind_template_child (widget_class, GtkInspectorListData, view); |