[PATCH weston 1/3] shell: Don't ping the grab surface

Kristian Høgsberg hoegsberg at gmail.com
Mon Jul 16 08:35:56 PDT 2012


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
> 


More information about the wayland-devel mailing list