summaryrefslogtreecommitdiff
path: root/gtk/gtkswitch.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtkswitch.c')
-rw-r--r--gtk/gtkswitch.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/gtk/gtkswitch.c b/gtk/gtkswitch.c
index 7038d09ee8..ed305b079f 100644
--- a/gtk/gtkswitch.c
+++ b/gtk/gtkswitch.c
@@ -749,6 +749,9 @@ gtk_switch_dispose (GObject *object)
priv->action = NULL;
}
+ g_clear_object (&priv->pan_gesture);
+ g_clear_object (&priv->multipress_gesture);
+
G_OBJECT_CLASS (gtk_switch_parent_class)->dispose (object);
}
@@ -924,7 +927,8 @@ gtk_switch_init (GtkSwitch *self)
G_CALLBACK (gtk_switch_multipress_gesture_pressed), self);
g_signal_connect (gesture, "released",
G_CALLBACK (gtk_switch_multipress_gesture_released), self);
- gtk_gesture_attach (gesture, GTK_PHASE_TARGET);
+ gtk_event_controller_set_propagation_phase (GTK_EVENT_CONTROLLER (gesture),
+ GTK_PHASE_TARGET);
self->priv->multipress_gesture = gesture;
gesture = gtk_gesture_pan_new (GTK_WIDGET (self),
@@ -935,7 +939,8 @@ gtk_switch_init (GtkSwitch *self)
G_CALLBACK (gtk_switch_pan_gesture_pan), self);
g_signal_connect (gesture, "drag-end",
G_CALLBACK (gtk_switch_pan_gesture_drag_end), self);
- gtk_gesture_attach (gesture, GTK_PHASE_TARGET);
+ gtk_event_controller_set_propagation_phase (GTK_EVENT_CONTROLLER (gesture),
+ GTK_PHASE_TARGET);
self->priv->pan_gesture = gesture;
}