wayland: Fix handling of INCR transactions

The window checks in the XPropertyEvent handler were wrong both
ways, so transfers would be left stale after the first chunk was
dealt with.

https://gitlab.gnome.org/GNOME/mutter/issues/1

Closes: #1
This commit is contained in:
Carlos Garnacho 2018-02-07 18:28:38 +01:00
parent 006cdac531
commit 5149d6eb40

View File

@ -1238,7 +1238,7 @@ handle_incr_chunk (MetaWaylandCompositor *compositor,
{
if (selection->x11_selection &&
selection->x11_selection->incr &&
event->window == selection->owner &&
event->window == selection->window &&
event->state == PropertyNewValue &&
event->atom == gdk_x11_get_xatom_by_name ("_META_SELECTION"))
{
@ -1248,8 +1248,8 @@ handle_incr_chunk (MetaWaylandCompositor *compositor,
}
else if (selection->wayland_selection &&
selection->wayland_selection->incr &&
event->window == selection->window &&
event->state == PropertyDelete &&
event->window == selection->wayland_selection->request_event.requestor &&
event->atom == selection->wayland_selection->request_event.property)
{
/* Wayland to X11 */