[gtk/wayland-dnd-fixes: 1/3] wayland: Clean up drags



commit ea8e80530ed5dbe3b679ecce3378d0e05e9a5d3f
Author: Matthias Clasen <mclasen redhat com>
Date:   Sat Jan 4 00:12:57 2020 -0500

    wayland: Clean up drags
    
    We need to set the drag to NULL in gdk_wayland_drag_drop_done,
    otherwise, all future drags will be considered local after the
    first local one. Worse, they will also provide the wrong data.

 gdk/wayland/gdkdrag-wayland.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
---
diff --git a/gdk/wayland/gdkdrag-wayland.c b/gdk/wayland/gdkdrag-wayland.c
index cf7e48a251..9226fae10a 100644
--- a/gdk/wayland/gdkdrag-wayland.c
+++ b/gdk/wayland/gdkdrag-wayland.c
@@ -173,7 +173,7 @@ gdk_wayland_drag_drop_done (GdkDrag  *drag,
   GdkWaylandDrag *drag_wayland = GDK_WAYLAND_DRAG (drag);
   GdkDevice *device = gdk_drag_get_device (drag);
 
-  gdk_wayland_seat_set_drag (gdk_device_get_seat (device), drag);
+  gdk_wayland_seat_set_drag (gdk_device_get_seat (device), NULL);
 
   if (success)
     {
@@ -402,6 +402,7 @@ _gdk_wayland_surface_drag_begin (GdkSurface         *surface,
                                   gdk_to_wl_actions (actions));
     }
 
+g_print ("drag begin\n");
   gdk_wayland_seat_set_drag (seat, drag);
 
   wl_data_device_start_drag (gdk_wayland_device_get_data_device (device),


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