[libhandy] swipe-tracker: Keep association from the swipeable to swipe tracker
- From: Adrien Plazas <aplazas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libhandy] swipe-tracker: Keep association from the swipeable to swipe tracker
- Date: Thu, 18 Jun 2020 17:46:23 +0000 (UTC)
commit 49ce664648d0a80a3215aa710fbdecf3cd0c5807
Author: Alexander Mikhaylenko <alexm gnome org>
Date: Sun Jun 14 22:02:36 2020 +0500
swipe-tracker: Keep association from the swipeable to swipe tracker
This will be needed later, to capture events internally.
Signed-off-by: Alexander Mikhaylenko <alexm gnome org>
src/hdy-swipe-tracker.c | 10 ++++++++++
1 file changed, 10 insertions(+)
---
diff --git a/src/hdy-swipe-tracker.c b/src/hdy-swipe-tracker.c
index 29bd8dff..eb8820a5 100644
--- a/src/hdy-swipe-tracker.c
+++ b/src/hdy-swipe-tracker.c
@@ -562,6 +562,8 @@ hdy_swipe_tracker_constructed (GObject *object)
g_signal_connect_object (self->swipeable, "event", G_CALLBACK (handle_event_cb), self, G_CONNECT_SWAPPED);
+ g_object_set_data (G_OBJECT (self->swipeable), "swipe-tracker", self);
+
G_OBJECT_CLASS (hdy_swipe_tracker_parent_class)->constructed (object);
}
@@ -576,6 +578,8 @@ hdy_swipe_tracker_dispose (GObject *object)
if (self->touch_gesture)
g_signal_handlers_disconnect_by_data (self->touch_gesture, self);
+ g_object_set_data (G_OBJECT (self->swipeable), "swipe-tracker", NULL);
+
g_clear_object (&self->touch_gesture);
g_clear_object (&self->swipeable);
@@ -753,8 +757,14 @@ hdy_swipe_tracker_init (HdySwipeTracker *self)
HdySwipeTracker *
hdy_swipe_tracker_new (HdySwipeable *swipeable)
{
+ gpointer swipe_tracker;
+
g_return_val_if_fail (swipeable != NULL, NULL);
+ swipe_tracker = g_object_get_data (G_OBJECT (swipeable), "swipe-tracker");
+
+ g_return_val_if_fail (swipe_tracker == NULL, NULL);
+
return g_object_new (HDY_TYPE_SWIPE_TRACKER,
"swipeable", swipeable,
NULL);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]