• Carlos Garnacho's avatar
    xwayland: Handle the case of windows being realized before redirection · 78cc8b6f
    Carlos Garnacho authored
    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's avatarCarlos Garnacho <carlosg@gnome.org>
    Reviewed-by: Michel Dänzer's avatarMichel Dänzer <mdaenzer@redhat.com>
    Reviewed-by: default avatarOlivier Fourdan <ofourdan@redhat.com>
    78cc8b6f
Name
Last commit
Last update
.gitlab-ci Loading commit data...
Xext Loading commit data...
Xi Loading commit data...
composite Loading commit data...
config Loading commit data...
damageext Loading commit data...
dbe Loading commit data...
dix Loading commit data...
doc Loading commit data...
dri3 Loading commit data...
exa Loading commit data...
fb Loading commit data...
glamor Loading commit data...
glx Loading commit data...
hw Loading commit data...
include Loading commit data...
m4 Loading commit data...
man Loading commit data...
mi Loading commit data...
miext Loading commit data...
os Loading commit data...
present Loading commit data...
pseudoramiX Loading commit data...
randr Loading commit data...
record Loading commit data...
render Loading commit data...
test Loading commit data...
xfixes Loading commit data...
xkb Loading commit data...
.appveyor.yml Loading commit data...
.dir-locals.el Loading commit data...
.gitignore Loading commit data...
.gitlab-ci.yml Loading commit data...
.travis.yml Loading commit data...
COPYING Loading commit data...
Makefile.am Loading commit data...
README.md Loading commit data...
autogen.sh Loading commit data...
configure.ac Loading commit data...
devbook.am Loading commit data...
docbook.am Loading commit data...
manpages.am Loading commit data...
meson.build Loading commit data...
meson_options.txt Loading commit data...
xorg-server.m4 Loading commit data...
xorg-server.pc.in Loading commit data...
xserver.ent.in Loading commit data...