[gtk/abolish-destroy: 15/30] viewport: Use dispose instead of destroy



commit 9f4cea190ac245f69e5d191281b8e0dfb0c2f9e1
Author: Matthias Clasen <mclasen redhat com>
Date:   Tue May 5 16:49:08 2020 -0400

    viewport: Use dispose instead of destroy
    
    The destroy vfunc is going away.

 gtk/gtkviewport.c | 57 +++++++++++++++++++++++--------------------------------
 1 file changed, 24 insertions(+), 33 deletions(-)
---
diff --git a/gtk/gtkviewport.c b/gtk/gtkviewport.c
index 1cbd46aa65..c85f7a5142 100644
--- a/gtk/gtkviewport.c
+++ b/gtk/gtkviewport.c
@@ -110,7 +110,7 @@ static void gtk_viewport_get_property             (GObject         *object,
                                                    guint            prop_id,
                                                    GValue          *value,
                                                    GParamSpec      *pspec);
-static void gtk_viewport_destroy                  (GtkWidget       *widget);
+static void gtk_viewport_dispose                  (GObject         *object);
 static void gtk_viewport_size_allocate            (GtkWidget       *widget,
                                                    int              width,
                                                    int              height,
@@ -289,11 +289,34 @@ gtk_viewport_get_request_mode (GtkWidget *widget)
     return GTK_SIZE_REQUEST_CONSTANT_SIZE;
 }
 
+#define ADJUSTMENT_POINTER(orientation)            \
+  (((orientation) == GTK_ORIENTATION_HORIZONTAL) ? \
+     &viewport->hadjustment : &viewport->vadjustment)
+
+static void
+viewport_disconnect_adjustment (GtkViewport    *viewport,
+                                GtkOrientation  orientation)
+{
+  GtkAdjustment **adjustmentp = ADJUSTMENT_POINTER (orientation);
+
+  if (*adjustmentp)
+    {
+      g_signal_handlers_disconnect_by_func (*adjustmentp,
+                                            gtk_viewport_adjustment_value_changed,
+                                            viewport);
+      g_object_unref (*adjustmentp);
+      *adjustmentp = NULL;
+    }
+}
+
 static void
 gtk_viewport_dispose (GObject *object)
 {
   GtkViewport *viewport = GTK_VIEWPORT (object);
 
+  viewport_disconnect_adjustment (viewport, GTK_ORIENTATION_HORIZONTAL);
+  viewport_disconnect_adjustment (viewport, GTK_ORIENTATION_VERTICAL);
+
   clear_focus_change_handler (viewport);
 
   g_clear_pointer (&viewport->child, gtk_widget_unparent);
@@ -337,7 +360,6 @@ gtk_viewport_class_init (GtkViewportClass *class)
   gobject_class->set_property = gtk_viewport_set_property;
   gobject_class->get_property = gtk_viewport_get_property;
 
-  widget_class->destroy = gtk_viewport_destroy;
   widget_class->size_allocate = gtk_viewport_size_allocate;
   widget_class->measure = gtk_viewport_measure;
   widget_class->root = gtk_viewport_root;
@@ -495,37 +517,6 @@ gtk_viewport_new (GtkAdjustment *hadjustment,
   return viewport;
 }
 
-#define ADJUSTMENT_POINTER(orientation)            \
-  (((orientation) == GTK_ORIENTATION_HORIZONTAL) ? \
-     &viewport->hadjustment : &viewport->vadjustment)
-
-static void
-viewport_disconnect_adjustment (GtkViewport    *viewport,
-                                GtkOrientation  orientation)
-{
-  GtkAdjustment **adjustmentp = ADJUSTMENT_POINTER (orientation);
-
-  if (*adjustmentp)
-    {
-      g_signal_handlers_disconnect_by_func (*adjustmentp,
-                                            gtk_viewport_adjustment_value_changed,
-                                            viewport);
-      g_object_unref (*adjustmentp);
-      *adjustmentp = NULL;
-    }
-}
-
-static void
-gtk_viewport_destroy (GtkWidget *widget)
-{
-  GtkViewport *viewport = GTK_VIEWPORT (widget);
-
-  viewport_disconnect_adjustment (viewport, GTK_ORIENTATION_HORIZONTAL);
-  viewport_disconnect_adjustment (viewport, GTK_ORIENTATION_VERTICAL);
-
-  GTK_WIDGET_CLASS (gtk_viewport_parent_class)->destroy (widget);
-}
-
 static void
 viewport_set_adjustment (GtkViewport    *viewport,
                          GtkOrientation  orientation,


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