From eb1e13044f26be3413238e70a00037d262dd6a9c Mon Sep 17 00:00:00 2001 From: Hardening Date: Fri, 17 May 2013 18:07:41 +0200 Subject: [PATCH] Fix surface_pong when a seat doesn't have a pointer 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); + } ping_timer_destroy(shsurf); } } -- 2.7.4