From: Matthias Clasen Date: Sat, 4 Jan 2020 05:12:57 +0000 (-0500) Subject: wayland: Clean up drags X-Git-Tag: archive/raspbian/4.4.1+ds1-2+rpi1^2~18^2~20^2~463 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=47e6b88555ee8bdd6aa5f010ffa56bddc81ed39b;p=gtk4.git 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. --- 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),