[gtk/fix-gesture-leak] gesture: Don't leak target widgets



commit 0fe9f1c907143db186f23e965ef616ec2d06c776
Author: Matthias Clasen <mclasen redhat com>
Date:   Sat May 30 09:15:19 2020 -0400

    gesture: Don't leak target widgets
    
    This was broken when we started tracking event targets
    in dcbecdac31181854451e.
    
    Fixes: #2801

 gtk/gtkgesture.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
---
diff --git a/gtk/gtkgesture.c b/gtk/gtkgesture.c
index 8ef4440b58..ddbe295755 100644
--- a/gtk/gtkgesture.c
+++ b/gtk/gtkgesture.c
@@ -496,9 +496,11 @@ _gtk_gesture_update_point (GtkGesture     *gesture,
       group_state = gtk_gesture_get_group_state (gesture, sequence);
       gtk_gesture_set_sequence_state (gesture, sequence, group_state);
     }
-
-  if (data->event)
-    gdk_event_unref (data->event);
+  else
+    {
+      g_clear_pointer (&data->event, gdk_event_unref);
+      g_clear_object (&data->target);
+    }
 
   data->event = gdk_event_ref ((GdkEvent *)event);
   data->target = g_object_ref (target);


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