diff options
author | Hardening <rdp.effort@gmail.com> | 2013-05-17 18:07:41 +0200 |
---|---|---|
committer | Kristian Høgsberg <krh@bitplanet.net> | 2013-05-17 16:30:39 -0400 |
commit | eb1e13044f26be3413238e70a00037d262dd6a9c (patch) | |
tree | cc1525238c1f75dcb65607edd75fe271e2dd0d84 | |
parent | ff3230952a68077669e0ea0ac3ceb234273556fc (diff) |
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.
-rw-r--r-- | src/shell.c | 6 |
1 files 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); } } |