On Wed, Jun 03, 2015 at 03:53:34PM -0500, Derek Foreman wrote:
> It doesn't actually need the seat and we have to validate that the seat
> has a pointer before making the call, so it's safer just to pass
> the validated pointer.
> 
> Signed-off-by: Derek Foreman <der...@osg.samsung.com>
> ---
>  desktop-shell/shell.c | 18 +++++++++++++-----
>  1 file changed, 13 insertions(+), 5 deletions(-)
> 
> diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
> index f42d345..a431291 100644
> --- a/desktop-shell/shell.c
> +++ b/desktop-shell/shell.c
> @@ -1937,7 +1937,7 @@ surface_subsurfaces_boundingbox(struct weston_surface 
> *surface, int32_t *x,
>  
>  static int
>  surface_resize(struct shell_surface *shsurf,
> -            struct weston_seat *seat, uint32_t edges)
> +            struct weston_pointer *pointer, uint32_t edges)
>  {
>       struct weston_resize_grab *resize;
>       const unsigned resize_topbottom =
> @@ -1968,7 +1968,7 @@ surface_resize(struct shell_surface *shsurf,
>       shsurf->resize_edges = edges;
>       shell_surface_state_changed(shsurf);
>       shell_grab_start(&resize->base, &resize_grab_interface, shsurf,
> -                      seat->pointer, edges);
> +                      pointer, edges);
>  
>       return 0;
>  }
> @@ -1992,7 +1992,7 @@ common_surface_resize(struct wl_resource *resource,
>       if (surface != shsurf->surface)
>               return;
>  
> -     if (surface_resize(shsurf, seat, edges) < 0)
> +     if (surface_resize(shsurf, seat->pointer, edges) < 0)
>               wl_resource_post_no_memory(resource);
>  }
>  
> @@ -3056,6 +3056,14 @@ shell_interface_move(struct shell_surface *shsurf, 
> struct weston_seat *ws)
>       return surface_move(shsurf, ws->pointer, true);
>  }
>  
> +static int
> +shell_interface_resize(struct shell_surface *shsurf,
> +                    struct weston_seat *ws,
> +                    uint32_t edges)
> +{
> +     return surface_resize(shsurf, ws->pointer, edges);
> +}
> +
>  static const struct weston_pointer_grab_interface popup_grab_interface;
>  
>  static void
> @@ -4782,7 +4790,7 @@ resize_binding(struct weston_pointer *pointer, uint32_t 
> time,
>       else
>               edges |= WL_SHELL_SURFACE_RESIZE_BOTTOM;
>  
> -     surface_resize(shsurf, pointer->seat, edges);
> +     surface_resize(shsurf, pointer, edges);
>  }
>  
>  static void
> @@ -6664,7 +6672,7 @@ module_init(struct weston_compositor *ec,
>       ec->shell_interface.set_fullscreen = shell_interface_set_fullscreen;
>       ec->shell_interface.set_xwayland = set_xwayland;
>       ec->shell_interface.move = shell_interface_move;
> -     ec->shell_interface.resize = surface_resize;
> +     ec->shell_interface.resize = shell_interface_resize;

I suppose a follow up would be to make the shell interface take pointers
as well (same for move).

Anyhow, Reviewed-by: Jonas Ådahl <jad...@gmail.com>


>       ec->shell_interface.set_title = set_title;
>       ec->shell_interface.set_window_geometry = set_window_geometry;
>       ec->shell_interface.set_maximized = shell_interface_set_maximized;
> -- 
> 2.1.4
> 
> _______________________________________________
> wayland-devel mailing list
> wayland-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to