xserver-multidpi/hw
Olivier Fourdan 606ba7fc51 xwayland: Create an xwl_window for toplevel only
One general assumption in Xwayland is that the xwl_window remains the
same for all the child windows of the toplevel window.

When mapping a new X11 window, ensure_surface_for_window() checks for an
existing xwl_window by using xwl_window_get() which will just check for
the registered xwl_window for the window.

That means that a client mapping a child window of an existing window
with a xwl_window will get another different xwl_window.

If an X11 client issues a Present request on the parent window, hence
placed underneath its child window of the same size, the Wayland
compositor may not send the frame callback event for the parent's
Wayland surface which is reckoned to be not visible, obscured behind
the other Wayland surface for the child X11 window.

That bug affects some games running in wine which may get 1 fps because
the repaint occurs only on timeout with a long interval (as with, e.g.
https://bugs.winehq.org/show_bug.cgi?id=47066)

Fix ensure_surface_for_window() by using xwl_window_from_window() which
will walk the window tree, so that a child window won't get another
xwl_window than its parent.

https://gitlab.freedesktop.org/xorg/xserver/-/issues/1099
See-also: https://bugs.winehq.org/show_bug.cgi?id=47066
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
2020-11-09 09:03:47 +00:00
..
dmx Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
kdrive Consolidate fourcc.h 2020-09-15 11:43:16 +02:00
vfb Revert https://gitlab.freedesktop.org/xorg/xserver/merge_requests/235 2019-10-14 12:48:24 +02:00
xfree86 modesetting: Add CTM RandR property 2020-10-29 15:25:00 -07:00
xnest Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
xquartz Fix spelling/wording issues 2020-07-05 13:07:33 -07:00
xwayland xwayland: Create an xwl_window for toplevel only 2020-11-09 09:03:47 +00:00
xwin hw/xwin: Update for renames in xserver/output API 2020-07-29 20:36:35 +01:00
Makefile.am Xwayland DDX 2014-04-03 15:19:22 -07:00
meson.build meson: Move Xvfb build under an option. 2017-09-20 13:19:21 -04:00