[gtk+/gtk-3-16] gesture: strengthen against destroyed windows



commit 35a4fd0996209a5294f54f5802e0cd8679d24a26
Author: Carlos Garnacho <carlosg gnome org>
Date:   Mon Sep 21 15:00:28 2015 +0200

    gesture: strengthen against destroyed windows
    
    Bail out when we receive an event with an already destroyed window,
    we'll hopefully get reset/cancelled afterwards on grab broken events.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=755352

 gtk/gtkgesture.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)
---
diff --git a/gtk/gtkgesture.c b/gtk/gtkgesture.c
index 826b741..0fbb465 100644
--- a/gtk/gtkgesture.c
+++ b/gtk/gtkgesture.c
@@ -329,7 +329,7 @@ _find_widget_window (GtkGesture *gesture,
 
   widget = gtk_event_controller_get_widget (GTK_EVENT_CONTROLLER (gesture));
 
-  while (window)
+  while (window && !gdk_window_is_destroyed (window))
     {
       gdk_window_get_user_data (window, (gpointer*) &window_widget);
 
@@ -354,6 +354,10 @@ _update_widget_coordinates (GtkGesture *gesture,
   gint wx, wy, x, y;
 
   event_widget = gtk_get_event_widget (data->event);
+
+  if (!event_widget)
+    return;
+
   widget = gtk_event_controller_get_widget (GTK_EVENT_CONTROLLER (gesture));
   event_widget_window = gtk_widget_get_window (event_widget);
   gdk_event_get_coords (data->event, &event_x, &event_y);


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