Skip to content
  • Alexandros Frantzis's avatar
    libweston: Make weston_seat release safe · 8480d13f
    Alexandros Frantzis authored and Pekka Paalanen's avatar Pekka Paalanen committed
    
    
    Ensure the server can safely handle client requests for wl_seat resource
    that have become inert due to weston_seat object release and subsequent
    destruction.
    
    The clean-up involves, among other things, unsetting the destroyed
    weston_seat object from the user data of wl_seat resources, and handling
    this NULL user data case where required.
    
    The list of sites extracting and using weston_seat object from wl_seat
    resources which were audited for this patch are:
    
    Legend:
    N/A = Not Applicable (not implemented by weston)
    FIXED = Fixed in the commit
    OK = Already works correctly
    
    == keyboard_shortcuts_inhibit_unstable_v1 ==
    [N/A] zwp_keyboard_shortcuts_inhibit_manager_v1.inhibit_shortcuts
    == tablet_input_unstable_v{1,2} ==
    [N/A] zwp_tablet_manager_v{1,2}.get_tablet_seat
    == text_input_unstable_v1 ==
    [FIXED] zwp_text_input_v1.activate
    [FIXED] zwp_text_input_v1.deactivate
    == wl_data_device ==
    [FIXED] wl_data_device_manager.get_data_device
    [OK] wl_data_device.start_drag
    [FIXED] wl_data_device.set_selection
    [OK] wl_data_device.release
    == wl_shell ==
    [FIXED] wl_shell_surface.move
    [FIXED] wl_shell_surface.resize
    [FIXED] wl_shell_surface.set_popup
    == xdg_shell and xdg_shell_unstable_v6 ==
    [FIXED] xdg_toplevel.show_window_menu
    [FIXED] xdg_toplevel.move
    [FIXED] xdg_toplevel.resize
    [FIXED] xdg_popup.grab
    == xdg_shell_unstable_v5 ==
    [FIXED] xdg_shell.get_xdg_popup
    [FIXED] xdg_surface.show_window_menu
    [FIXED] xdg_surface.move
    [FIXED] xdg_surface.resize
    
    Signed-off-by: default avatarAlexandros Frantzis <alexandros.frantzis@collabora.com>
    Reviewed-by: default avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
    Reviewed-by: default avatarQuentin Glidic <sardemff7+git@sardemff7.net>
    8480d13f