xwayland: Fix LeaveNotify for relative pointer
Since commit20c78f38
, we use the relative pointer for enter/leave events. However, sprite_check_lost_focus() which verifies whether the pointer has left an Xwayland surface still explicitly check for the absolute pointer. As a result, no LeaveNotify event is emitted anymore now when the pointer crosses from an Xwayland surface to a Wayland native one. Make sure to check the last slave device against get_pointer_event() as well, not just the absolute pointer. Signed-off-by: Olivier Fourdan <ofourdan@redhat.com> Acked-by: Martin Peres <martin.peres@mupuf.org> Acked-by: Roman Gilg <subdiff@gmail.com> Tested-by: Roman Gilg <subdiff@gmail.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Fixes:20c78f38
- xwayland: use get_pointer_device() for enter/leave handling too
This commit is contained in:
parent
a5367face1
commit
d7391f383d
|
@ -2652,7 +2652,7 @@ sprite_check_lost_focus(SpritePtr sprite, WindowPtr window)
|
|||
* devices so we can find out the xwl_seat, but those don't actually own
|
||||
* their sprite, so the match doesn't mean a lot.
|
||||
*/
|
||||
if (master->lastSlave != xwl_seat->pointer)
|
||||
if (master->lastSlave != get_pointer_device(xwl_seat))
|
||||
return FALSE;
|
||||
|
||||
if (xwl_seat->focus_window != NULL &&
|
||||
|
|
Loading…
Reference in New Issue