xserver/hw/xwayland
Carlos Garnacho 63346c7439 xwayland: Handle the case of windows being realized before redirection
If Xwayland gets to realize a window meant for composition before the
compositor redirected windows (i.e. redirect mode is not RedirectDrawManual
yet), the window would stay "invisible" as we wouldn't create a
wl_surface/wl_shell_surface for it at any later point.

This scenario may happen if the wayland compositor sets up a X11 socket
upfront, but waits to raise Xwayland until there are X11 clients. In this
case the first data on the socket is the client's, the compositor can hardly
beat that in order to redirect subwindows before the client realizes a
Window.

In order to jump across this hurdle, allow the late creation of a matching
(shell) surface for the WindowPtr on SetWindowPixmapProc, so it is ensured
to be created after the compositor set up redirection.

Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
(cherry picked from commit 78cc8b6f96)
2019-09-10 14:51:00 +02:00
..
.gitignore glamor: Implement PixmapFromBuffers and BuffersFromPixmap 2018-03-05 13:27:49 -05:00
Makefile.am xwayland: Add glamor egl_backend for EGLStreams 2018-04-24 16:51:18 -04:00
drm.xml wayland: Sync drm.xml with Mesa 2017-07-05 10:13:04 -04:00
meson.build xwayland: Add glamor egl_backend for EGLStreams 2018-04-24 16:51:18 -04:00
xwayland-cursor.c xwayland: Reset scheduled frames after hiding tablet cursor 2019-06-06 11:48:13 +02:00
xwayland-cvt.c xwayland: Add hack for FWXGA resolution #99574 2017-02-08 12:32:16 -05:00
xwayland-glamor-eglstream.c xwayland: fix a realloc OOM error case 2019-04-05 12:39:00 +02:00
xwayland-glamor-gbm.c xwayland: Do not free a NULL GBM bo 2019-07-26 19:44:03 +00:00
xwayland-glamor-xv.c xwayland: use the lowercase xnf.*alloc API 2017-09-06 08:56:39 +10:00
xwayland-glamor.c xwayland: Enable DRI3 for glamor 2018-08-02 10:04:10 -04:00
xwayland-input.c xwayland: Avoid a crash on pointer enter with a grab 2019-06-05 15:12:31 +02:00
xwayland-output.c xwayland: Expand the RANDR screen size limits 2019-07-26 19:44:03 +00:00
xwayland-present.c xwayland/present: Destroy sync_callback in xwl_present_cleanup 2019-03-25 12:45:52 +01:00
xwayland-shm.c xserver: Check the right HAVE_*_CONFIG_H. 2017-03-23 13:17:39 -04:00
xwayland-vidmode.c xwayland: Pretend we support viewport in vidmode 2016-03-28 14:10:59 -04:00
xwayland.c xwayland: Handle the case of windows being realized before redirection 2019-09-10 14:51:00 +02:00
xwayland.h xwayland: Handle the case of windows being realized before redirection 2019-09-10 14:51:00 +02:00