[gtk+/gtk-3-20] button: Free gadgets and gestures in finalize



commit 476352405240009b5e8d398eeed306d279c33ffc
Author: Matthias Clasen <mclasen redhat com>
Date:   Sun Jun 5 19:33:21 2016 -0400

    button: Free gadgets and gestures in finalize
    
    This is the right place to free them.

 gtk/gtkbutton.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)
---
diff --git a/gtk/gtkbutton.c b/gtk/gtkbutton.c
index f552e7b..e24c065 100644
--- a/gtk/gtkbutton.c
+++ b/gtk/gtkbutton.c
@@ -115,7 +115,7 @@ enum {
 };
 
 
-static void gtk_button_destroy        (GtkWidget          *widget);
+static void gtk_button_finalize       (GObject            *object);
 static void gtk_button_dispose        (GObject            *object);
 static void gtk_button_set_property   (GObject            *object,
                                        guint               prop_id,
@@ -241,6 +241,7 @@ gtk_button_class_init (GtkButtonClass *klass)
   
   gobject_class->constructed  = gtk_button_constructed;
   gobject_class->dispose      = gtk_button_dispose;
+  gobject_class->finalize     = gtk_button_finalize;
   gobject_class->set_property = gtk_button_set_property;
   gobject_class->get_property = gtk_button_get_property;
 
@@ -249,7 +250,6 @@ gtk_button_class_init (GtkButtonClass *klass)
   widget_class->get_preferred_width_for_height = gtk_button_get_preferred_width_for_height;
   widget_class->get_preferred_height_for_width = gtk_button_get_preferred_height_for_width;
   widget_class->get_preferred_height_and_baseline_for_width = 
gtk_button_get_preferred_height_and_baseline_for_width;
-  widget_class->destroy = gtk_button_destroy;
   widget_class->screen_changed = gtk_button_screen_changed;
   widget_class->realize = gtk_button_realize;
   widget_class->unrealize = gtk_button_unrealize;
@@ -755,16 +755,16 @@ gtk_button_init (GtkButton *button)
 }
 
 static void
-gtk_button_destroy (GtkWidget *widget)
+gtk_button_finalize (GObject *object)
 {
-  GtkButton *button = GTK_BUTTON (widget);
+  GtkButton *button = GTK_BUTTON (object);
   GtkButtonPrivate *priv = button->priv;
 
   g_clear_pointer (&priv->label_text, g_free);
   g_clear_object (&priv->gesture);
   g_clear_object (&priv->gadget);
 
-  GTK_WIDGET_CLASS (gtk_button_parent_class)->destroy (widget);
+  G_OBJECT_CLASS (gtk_button_parent_class)->finalize (object);
 }
 
 static void


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