@ -1943,7 +1943,7 @@ surface_subsurfaces_boundingbox(struct weston_surface *surface, int32_t *x,
static int
static int
surface_resize ( struct shell_surface * shsurf ,
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 ;
struct weston_resize_grab * resize ;
const unsigned resize_topbottom =
const unsigned resize_topbottom =
@ -1974,7 +1974,7 @@ surface_resize(struct shell_surface *shsurf,
shsurf - > resize_edges = edges ;
shsurf - > resize_edges = edges ;
shell_surface_state_changed ( shsurf ) ;
shell_surface_state_changed ( shsurf ) ;
shell_grab_start ( & resize - > base , & resize_grab_interface , shsurf ,
shell_grab_start ( & resize - > base , & resize_grab_interface , shsurf ,
seat - > pointer , edges ) ;
pointer , edges ) ;
return 0 ;
return 0 ;
}
}
@ -1998,7 +1998,7 @@ common_surface_resize(struct wl_resource *resource,
if ( surface ! = shsurf - > surface )
if ( surface ! = shsurf - > surface )
return ;
return ;
if ( surface_resize ( shsurf , seat , edges ) < 0 )
if ( surface_resize ( shsurf , seat - > pointer , edges ) < 0 )
wl_resource_post_no_memory ( resource ) ;
wl_resource_post_no_memory ( resource ) ;
}
}
@ -3063,6 +3063,14 @@ shell_interface_move(struct shell_surface *shsurf, struct weston_seat *ws)
return surface_move ( shsurf , ws - > pointer , true ) ;
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 const struct weston_pointer_grab_interface popup_grab_interface ;
static void
static void
@ -4728,7 +4736,7 @@ resize_binding(struct weston_pointer *pointer, uint32_t time,
else
else
edges | = WL_SHELL_SURFACE_RESIZE_BOTTOM ;
edges | = WL_SHELL_SURFACE_RESIZE_BOTTOM ;
surface_resize ( shsurf , pointer - > seat , edges ) ;
surface_resize ( shsurf , pointer , edges ) ;
}
}
static void
static void
@ -6526,7 +6534,7 @@ module_init(struct weston_compositor *ec,
ec - > shell_interface . set_fullscreen = shell_interface_set_fullscreen ;
ec - > shell_interface . set_fullscreen = shell_interface_set_fullscreen ;
ec - > shell_interface . set_xwayland = set_xwayland ;
ec - > shell_interface . set_xwayland = set_xwayland ;
ec - > shell_interface . move = shell_interface_move ;
ec - > shell_interface . move = shell_interface_move ;
ec - > shell_interface . resize = su rface_resize ;
ec - > shell_interface . resize = shell_inte rface_resize ;
ec - > shell_interface . set_title = set_title ;
ec - > shell_interface . set_title = set_title ;
ec - > shell_interface . set_window_geometry = set_window_geometry ;
ec - > shell_interface . set_window_geometry = set_window_geometry ;
ec - > shell_interface . set_maximized = shell_interface_set_maximized ;
ec - > shell_interface . set_maximized = shell_interface_set_maximized ;