xserver/hw
Ian Forbes 56a07cf698 xwayland: Try harder to find a top-level for root grabs
The commit referenced below partially resolved an issue with grabs being made
on the root window. Unfortunately it assumes that the application uses
the same client for all windows. VMware Workstation uses nested windows
for each VM, each of which runs its own process with this own client.
Theses windows are managed by the GUI which is the top level for the
application and maps the windows based on which tab is selected.

Because the VM windows issue a grab on the root window and don't share
the same client as the GUI, grabs don't work properly with global shortcut
inhibition being completely broken.

Getting the parent top-level of the nested windows fixes this issue.

Fixes: c7730cfe55 ("xwayland: Translate keyboard grabs on the root window")
Signed-off-by: Ian Forbes <ian.forbes@broadcom.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2016>
(cherry picked from commit afc8b781d8)
2026-01-25 10:40:02 -08:00
..
kdrive Xephyr.man: Use \- to get ASCII hyphens instead of Unicode dashes 2026-01-25 10:40:01 -08:00
vfb man pages: remove extraneous PP macros 2026-01-25 10:40:01 -08:00
xfree86 modesetting: fix modesetting symbol test when glx is disabled 2026-01-25 10:40:02 -08:00
xnest Xnest: use authorative declarations from X11/XKBlib.h 2026-01-25 10:40:01 -08:00
xquartz man pages: remove extraneous PP macros 2026-01-25 10:40:01 -08:00
xwayland xwayland: Try harder to find a top-level for root grabs 2026-01-25 10:40:02 -08:00
xwin XWin.man: fix typos in font change escapes 2026-01-25 10:40:01 -08:00
meson.build meson.build: print a summary of the DDX to build 2026-01-25 10:40:01 -08:00