[gtk/abolish-destroy: 15/30] viewport: Use dispose instead of destroy
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/abolish-destroy: 15/30] viewport: Use dispose instead of destroy
- Date: Tue, 5 May 2020 23:57:50 +0000 (UTC)
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]