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);
        }
 }
-- 
1.8.1.2

_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to