On Tue, 26 Feb 2013 15:59:57 +0100
Giulio Camuffo <[email protected]> wrote:

> ---
>  src/shell.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/src/shell.c b/src/shell.c
> index c8f20ec..da41efa 100644
> --- a/src/shell.c
> +++ b/src/shell.c
> @@ -1092,10 +1092,12 @@ shell_surface_move(struct wl_client *client, struct 
> wl_resource *resource,
>  {
>       struct weston_seat *ws = seat_resource->data;
>       struct shell_surface *shsurf = resource->data;
> +     struct weston_surface *surface = weston_surface_get_parent(
> +             container_of(ws->seat.pointer->focus, struct weston_surface, 
> surface));
>  
>       if (ws->seat.pointer->button_count == 0 ||
>           ws->seat.pointer->grab_serial != serial ||
> -         ws->seat.pointer->focus != &shsurf->surface->surface)
> +         surface != shsurf->surface)
>               return;
>  
>       if (surface_move(shsurf, ws) < 0)
> @@ -1215,13 +1217,15 @@ shell_surface_resize(struct wl_client *client, struct 
> wl_resource *resource,
>  {
>       struct weston_seat *ws = seat_resource->data;
>       struct shell_surface *shsurf = resource->data;
> +     struct weston_surface *surface = weston_surface_get_parent(
> +             container_of(ws->seat.pointer->focus, struct weston_surface, 
> surface));
>  
>       if (shsurf->type == SHELL_SURFACE_FULLSCREEN)
>               return;
>  
>       if (ws->seat.pointer->button_count == 0 ||
>           ws->seat.pointer->grab_serial != serial ||
> -         ws->seat.pointer->focus != &shsurf->surface->surface)
> +         surface != shsurf->surface)
>               return;
>  
>       if (surface_resize(shsurf, ws, edges) < 0)

I have this patch now in my subsurface-wip branch. :-)

Thanks,
pq
_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to