1. 18 Apr, 2019 3 commits
  2. 15 Feb, 2018 1 commit
    • Alexandros Frantzis's avatar
      libweston: Make weston_seat release safe · 8480d13f
      Alexandros Frantzis authored
      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: Alexandros Frantzis's avatarAlexandros Frantzis <alexandros.frantzis@collabora.com>
      Reviewed-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      Reviewed-by: Quentin Glidic's avatarQuentin Glidic <sardemff7+git@sardemff7.net>
      8480d13f
  3. 27 Nov, 2017 7 commits
  4. 14 Aug, 2016 1 commit
    • Quentin Glidic's avatar
      Introduce libweston-desktop · 248dd109
      Quentin Glidic authored
      libweston-desktop is an abstraction library for compositors wanting to
      support desktop-like shells.
      
      The API is designed from xdg_shell features, as it will eventually be
      the recommended shell for modern applications to use.
      In the future, adding new shell protocols support will be easier, as
      limited to libweston-desktop.
      
      The library versioning is the same as libweston. If one of them break
      ABI compatibility, the other will too.
      
      The compositor will only ever see toplevel surfaces (“windows”), with
      all the other being internal implementation details.
      Thus, popups and associated grabs are handled entirely in
      libweston-desktop.
      Xwayland special surfaces (override-redirect) are special-cased to a
      dedicated layer, as the compositor should not know about them.
      
      All the shell error checking is taken care of too, as well as some
      specification rules (e.g. sizes constraint for maximized and fullscreen
      surfaces).
      
      All the compositor has to do is define a few callbacks in the interface
      struct, and manage toplevel surfaces.
      Signed-off-by: Quentin Glidic's avatarQuentin Glidic <sardemff7+git@sardemff7.net>
      Reviewed-by: Jonas Ådahl's avatarJonas Ådahl <jadahl@gmail.com>
      Acked-by: default avatarGiulio Camuffo <giulio.camuffo@kdab.com>
      
      Differential Revision: https://phabricator.freedesktop.org/D1207
      248dd109