• Pekka Paalanen's avatar
    libweston-desktop/xwayland: add is_mapped handling for XWAYLAND · e3a582f9
    Pekka Paalanen authored
    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's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
    Reviewed-by: Quentin Glidic's avatarQuentin Glidic <sardemff7+git@sardemff7.net>
    Acked-by: Daniel Stone's avatarDaniel Stone <daniels@collabora.com>
    e3a582f9
Name
Last commit
Last update
..
client.c Loading commit data...
internal.h Loading commit data...
libweston-desktop.c Loading commit data...
libweston-desktop.h Loading commit data...
libweston-desktop.pc.in Loading commit data...
seat.c Loading commit data...
surface.c Loading commit data...
wl-shell.c Loading commit data...
xdg-shell-v5.c Loading commit data...
xdg-shell-v6.c Loading commit data...
xwayland.c Loading commit data...