xserver/hw
Morose 92a00f5221 xwayland: Fix check logic in sprite_check_lost_focus()
When the pointer leaves an X11 window, and enters a Wayland native
window, Xwayland has no idea about Wayland native windows and may
generate the wrong crossing events to another X11 window instead.

To avoid that issue, Xwayland implements its own XYToWindow() handler to
compare the Wayland focused surface with the X11 window found in the
window tree.

Commit 59ad0e6a ("xwayland: Fix use after free of cursors") changed the
logic in sprite_check_lost_focus() to use IsParent() to compare the
windows, which works when the X11 window is reparented by the window
manager, but fails in the case of an override redirect window.

To fix the issue, also check whether last_xwindow is the window itself.

Signed-off-by: Morose <chenlinxiang@kylinos.cn>
Fixes: 59ad0e6a - xwayland: Fix use after free of cursors
Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
2022-06-27 11:57:14 +00:00
..
kdrive Replace "the the" with a single "the" in docs & comments 2022-03-31 13:27:57 -07:00
vfb Remove autotools support 2021-10-27 13:15:40 +03:00
xfree86 meson: Support building Xnest and Xorg on darwin 2022-06-26 09:16:42 +00:00
xnest Replace "the the" with a single "the" in docs & comments 2022-03-31 13:27:57 -07:00
xquartz XQuartz: Add TCC reason keys to Info.plist 2022-06-26 13:25:03 -07:00
xwayland xwayland: Fix check logic in sprite_check_lost_focus() 2022-06-27 11:57:14 +00:00
xwin gen_gl_wrappers: remove unused imports 2022-04-02 18:06:30 +00:00
meson.build Drop DMX DDX 2021-09-07 09:34:31 +00:00