mirror of
https://gitlab.freedesktop.org/wayland/weston
synced 2024-10-04 23:02:37 +00:00
e3a582f9ff
The xwayland window type XWAYLAND is not handled by the shell at all, instead libweston-desktop maps such surfaces itself. However, it forgot to set weston_surface::is_mapped and weston_view::is_mapped. weston_surface::is_mapped affects the behaviour of weston_view_unmap() and weston_surface_attach(). weston_view::is_mapped affects the behaviour of weston_view_unmap() and weston_view_destroy(). When manually mapping a window of type XWAYLAND, mark both the view and surface as mapped. This follows the expections in libweston, even though the meaning of is_mapped is not clearly defined for either surface or view. Also, when the XWAYLAND window is manually unmapped, unmap the weston_surface. This updates weston_surface::is_mapped to reflect the state. However, as a side-effect it will also unmap all sibling views, should any exist. v2: rename surface_base to wsurface Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net> Acked-by: Daniel Stone <daniels@collabora.com> |
||
---|---|---|
.. | ||
client.c | ||
internal.h | ||
libweston-desktop.c | ||
libweston-desktop.h | ||
libweston-desktop.pc.in | ||
seat.c | ||
surface.c | ||
wl-shell.c | ||
xdg-shell-v5.c | ||
xdg-shell-v6.c | ||
xwayland.c |