On Mon, Jul 16, 2012 at 02:15:48PM +0300, Ander Conselvan de Oliveira wrote:
> If the grab surface happens to be unresponsive, the busy cursor grab
> will be started and that will cause the grab surface to receive focus,
> which in turn leads to it being pingged again. Break the cycle by not
> sending pings to it. If the shell is unresponsive it won't be able to
> set the busy cursor anyway.

All good fixes, thanks.
Kristian

> ---
>  src/shell.c |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
> 
> diff --git a/src/shell.c b/src/shell.c
> index 66c9d64..74d4e1b 100644
> --- a/src/shell.c
> +++ b/src/shell.c
> @@ -918,6 +918,9 @@ ping_handler(struct weston_surface *surface, uint32_t 
> serial)
>       if (!shsurf->resource.client)
>               return;
>  
> +     if (shsurf->surface == shsurf->shell->grab_surface)
> +             return;
> +
>       if (!shsurf->ping_timer) {
>               shsurf->ping_timer = malloc(sizeof *shsurf->ping_timer);
>               if (!shsurf->ping_timer)
> -- 
> 1.7.4.1
> 
_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to