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.
This commit is contained in:
Matthias Clasen
2020-01-04 00:12:57 -05:00
parent df58d0acf3
commit 47e6b88555

View File

@@ -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),