desktop-shell: Make surface_resize take a pointer instead of a seat
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.
Reviewed-by: Jonas Ã…dahl <jadahl@gmail.com>
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index a215b9d..6915d9c 100644
--- a/desktop-shell/shell.c
+++ b/desktop-shell/shell.c
@@ -1943,7 +1943,7 @@
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 =
@@ -1974,7 +1974,7 @@
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;
}
@@ -1998,7 +1998,7 @@
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);
}
@@ -3063,6 +3063,14 @@
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
@@ -4728,7 +4736,7 @@
else
edges |= WL_SHELL_SURFACE_RESIZE_BOTTOM;
- surface_resize(shsurf, pointer->seat, edges);
+ surface_resize(shsurf, pointer, edges);
}
static void
@@ -6526,7 +6534,7 @@
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;
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;