[gtk/wip/alexl/broadway5: 5/13] broadway: Don't crash of drag-resizing when already active



commit 3a3f21d156b8a998ac3d09cdd22c96c725716091
Author: Alexander Larsson <alexl redhat com>
Date:   Fri Mar 22 13:52:08 2019 +0100

    broadway: Don't crash of drag-resizing when already active
    
    This is what the X11 code does.

 gdk/broadway/gdksurface-broadway.c | 8 ++++++++
 1 file changed, 8 insertions(+)
---
diff --git a/gdk/broadway/gdksurface-broadway.c b/gdk/broadway/gdksurface-broadway.c
index 56e9684112..b9fbec68c6 100644
--- a/gdk/broadway/gdksurface-broadway.c
+++ b/gdk/broadway/gdksurface-broadway.c
@@ -1232,6 +1232,9 @@ gdk_broadway_surface_begin_resize_drag (GdkSurface     *surface,
 
   mv_resize = get_move_resize_data (gdk_surface_get_display (surface), TRUE);
 
+  if (mv_resize->moveresize_surface != NULL)
+    return; /* already a drag operation in progress */
+
   mv_resize->is_resize = TRUE;
   mv_resize->moveresize_button = button;
   mv_resize->resize_edge = edge;
@@ -1270,8 +1273,13 @@ gdk_broadway_surface_begin_move_drag (GdkSurface *surface,
   if (impl->maximized)
     return;
 
+  g_print ("gdk_broadway_surface_begin_move_drag\n");
+
   mv_resize = get_move_resize_data (gdk_surface_get_display (surface), TRUE);
 
+  if (mv_resize->moveresize_surface != NULL)
+    return; /* already a drag operation in progress */
+
   mv_resize->is_resize = FALSE;
   mv_resize->moveresize_button = button;
   mv_resize->moveresize_x = root_x;


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