shell: don't crash if a pointer's focus is null

It's possible for a pointer's focus to be null, e.g. because
the focus surface has been bestroyed. Prevent a crash when
that happens and a client takes too long to respond to a ping.

Signed-off-by: Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>
This commit is contained in:
Emilio Pozuelo Monfort
2013-11-22 16:21:20 +01:00
committed by Kristian Høgsberg
parent 617e9a37f2
commit 3d0fc76dd5
+2 -1
View File
@@ -1866,7 +1866,8 @@ ping_timeout_handler(void *data)
shsurf->unresponsive = 1; shsurf->unresponsive = 1;
wl_list_for_each(seat, &shsurf->surface->compositor->seat_list, link) wl_list_for_each(seat, &shsurf->surface->compositor->seat_list, link)
if (seat->pointer->focus->surface == shsurf->surface) if (seat->pointer->focus &&
seat->pointer->focus->surface == shsurf->surface)
set_busy_cursor(shsurf, seat->pointer); set_busy_cursor(shsurf, seat->pointer);
return 1; return 1;