[gtk/wip/exalm/controls-dispose] windowcontrols: Unparent children in dispose rather than finalize



commit 7906f09c75c5b926429f3f027be179e66bfb11ad
Author: Alexander Mikhaylenko <alexm gnome org>
Date:   Tue May 5 19:43:55 2020 +0500

    windowcontrols: Unparent children in dispose rather than finalize

 gtk/gtkwindowcontrols.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)
---
diff --git a/gtk/gtkwindowcontrols.c b/gtk/gtkwindowcontrols.c
index 797a24cff3..6225850757 100644
--- a/gtk/gtkwindowcontrols.c
+++ b/gtk/gtkwindowcontrols.c
@@ -411,12 +411,20 @@ gtk_window_controls_unroot (GtkWidget *widget)
 }
 
 static void
-gtk_window_controls_finalize (GObject *object)
+gtk_window_controls_dispose (GObject *object)
 {
   GtkWindowControls *self = GTK_WINDOW_CONTROLS (object);
 
   clear_controls (self);
 
+  G_OBJECT_CLASS (gtk_window_controls_parent_class)->dispose (object);
+}
+
+static void
+gtk_window_controls_finalize (GObject *object)
+{
+  GtkWindowControls *self = GTK_WINDOW_CONTROLS (object);
+
   g_free (self->decoration_layout);
 
   G_OBJECT_CLASS (gtk_window_controls_parent_class)->finalize (object);
@@ -480,6 +488,7 @@ gtk_window_controls_class_init (GtkWindowControlsClass *klass)
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
+  object_class->dispose = gtk_window_controls_dispose;
   object_class->finalize = gtk_window_controls_finalize;
   object_class->get_property = gtk_window_controls_get_property;
   object_class->set_property = gtk_window_controls_set_property;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]