[PATCH] Fix surface_pong when a seat doesn't have a pointer

Kristian Høgsberg hoegsberg at gmail.com
Fri May 17 13:31:23 PDT 2013


On Fri, May 17, 2013 at 06:07:41PM +0200, Hardening wrote:
> This patch fixes a crash with the surface_pong when one of the
> seats doesn't have a pointer. This was the case with the RDP compositor
> that use a fake seat with no mouse or keyboard.
> ---
>  src/shell.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/src/shell.c b/src/shell.c
> index 316cfdc..f5d5bff 100644
> --- a/src/shell.c
> +++ b/src/shell.c
> @@ -1465,8 +1465,10 @@ shell_surface_pong(struct wl_client *client, struct wl_resource *resource,
>  
>  	if (shsurf->ping_timer->serial == serial) {
>  		shsurf->unresponsive = 0;
> -		wl_list_for_each(seat, &ec->seat_list, link)
> -			end_busy_cursor(shsurf, seat->pointer);
> +		wl_list_for_each(seat, &ec->seat_list, link) {
> +			if(seat->pointer)
> +				end_busy_cursor(shsurf, seat->pointer);
> +		}

That looks right, thanks.

Kristian

>  		ping_timer_destroy(shsurf);
>  	}
>  }
> -- 
> 1.8.1.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