[gtk+/gtk-3-22] x11: Avoid crash in fallback move emulation



commit e834a2b089085c1c63a4e4b6e06fd84f48cc030e
Author: Matthias Clasen <mclasen redhat com>
Date:   Fri Dec 15 16:17:27 2017 -0500

    x11: Avoid crash in fallback move emulation
    
    Quietly do nothing when there is already an ongoing operation.
    This matches the behavior of the ewmh code, and is much nicer
    than a crash.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=789054

 gdk/x11/gdkwindow-x11.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
---
diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
index 3d6fd3b..70daed9 100644
--- a/gdk/x11/gdkwindow-x11.c
+++ b/gdk/x11/gdkwindow-x11.c
@@ -5281,6 +5281,9 @@ emulate_resize_drag (GdkWindow     *window,
 {
   MoveResizeData *mv_resize = get_move_resize_data (GDK_WINDOW_DISPLAY (window), TRUE);
 
+  if (mv_resize->moveresize_window != NULL)
+    return; /* already a drag operation in progress */
+
   mv_resize->is_resize = TRUE;
   mv_resize->moveresize_button = button;
   mv_resize->resize_edge = edge;
@@ -5311,7 +5314,10 @@ emulate_move_drag (GdkWindow     *window,
                    guint32        timestamp)
 {
   MoveResizeData *mv_resize = get_move_resize_data (GDK_WINDOW_DISPLAY (window), TRUE);
-  
+
+  if (mv_resize->moveresize_window != NULL)
+    return; /* already a drag operation in progress */
+
   mv_resize->is_resize = FALSE;
   mv_resize->device = device;
   mv_resize->moveresize_button = button;


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