[PATCH] shell: Allow unresponsive surfaces to be moved again

Kristian Høgsberg hoegsberg at gmail.com
Wed Apr 9 10:52:15 PDT 2014


On Wed, Apr 09, 2014 at 05:39:39PM +0300, Ander Conselvan de Oliveira wrote:
> From: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>
> 
> Commit c85f1d45 caused the move of an unresponsive surface to be no
> longer possible, since the grabbed flag would prevent the move grab
> to start while the busy grab was still active.
> ---
>  desktop-shell/shell.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
> index d685bf9..33be969 100644
> --- a/desktop-shell/shell.c
> +++ b/desktop-shell/shell.c
> @@ -1804,6 +1804,9 @@ set_busy_cursor(struct shell_surface *shsurf, struct weston_pointer *pointer)
>  
>  	shell_grab_start(grab, &busy_cursor_grab_interface, shsurf, pointer,
>  			 DESKTOP_SHELL_CURSOR_BUSY);
> +	/* Mark the shsurf as ungrabbed so that button binding is able
> +	 * to move it. */
> +	shsurf->grabbed = 0;

Yeah, I noticed that broke.  This makes sense, but it just looks a little
weird to start a grab and the mark it not grabbed.  The comment explains
it, but we can make if shsurf->grab_type or something if we run into more
of this later on.

Kristian

>  }
>  
>  static void
> -- 
> 1.8.3.2
> 
> _______________________________________________
> 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