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>
dev
Emilio Pozuelo Monfort 11 years ago committed by Kristian Høgsberg
parent 617e9a37f2
commit 3d0fc76dd5
  1. 3
      src/shell.c

@ -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;

Loading…
Cancel
Save