weston/libweston-desktop
Pekka Paalanen e3a582f9ff libweston-desktop/xwayland: add is_mapped handling for XWAYLAND
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>
2016-11-25 13:13:43 +02:00
..
client.c Introduce libweston-desktop 2016-08-14 09:29:00 +02:00
internal.h Revert "libweston-desktop: Add listener and API to drop the idle inhibitor" 2016-08-30 12:04:37 -07:00
libweston-desktop.c Revert "libweston-desktop: Add listener and API to drop the idle inhibitor" 2016-08-30 12:04:37 -07:00
libweston-desktop.h Revert "libweston-desktop: Add listener and API to drop the idle inhibitor" 2016-08-30 12:04:37 -07:00
libweston-desktop.pc.in libweston-desktop: Fix libweston-desktop.pc 2016-08-15 11:46:46 +03:00
seat.c Introduce libweston-desktop 2016-08-14 09:29:00 +02:00
surface.c Revert "libweston-desktop: Add listener and API to drop the idle inhibitor" 2016-08-30 12:04:37 -07:00
wl-shell.c libweston-desktop: destroy wl_shell_surface after the wl_surface is destroyed 2016-10-14 10:52:36 +02:00
xdg-shell-v5.c libweston-desktop: Fix some clang warnings 2016-09-24 12:16:18 +02:00
xdg-shell-v6.c xdg-shell: validate positioner object 2016-11-16 10:31:11 +08:00
xwayland.c libweston-desktop/xwayland: add is_mapped handling for XWAYLAND 2016-11-25 13:13:43 +02:00