Skip to content

wayland: Send wl_pointer leave before data_device enter

David Edmundson requested to merge work/d_ed/pointer_leave into master

SeatInterface currently has a separation of kwin's focus scope to pointer input with early return guards in notifyPointerEnter and notifyPointerLeave where clients don't get pointer events.

However we don't update the initial state when a drag is started, this patch notifies sends a pointer leave to the new drag target before the data_device enter so things are consistent.

This also brings it in line with Weston and Mutter.

notifyPointerLeave has it's early return removed as for wayland windows as we know nothing will have pointer focus.

Fixes a bug where D&D within an application can trigger events.


(we can then revisit that previous xwayland hack at some point to see if it's still needed or whether we can re-use the newly added dragInhibitsPointer)

Edited by David Edmundson

Merge request reports