[PATCH weston 15/19] desktop-shell: Make surface_resize take a pointer instead of a seat
Jonas Ådahl
jadahl at gmail.com
Wed Jul 1 01:55:20 PDT 2015
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 <derekf at 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 <jadahl at 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 at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
More information about the wayland-devel
mailing list