diff --git a/clients/window.c b/clients/window.c index 436f8624..36caeb3e 100644 --- a/clients/window.c +++ b/clients/window.c @@ -2312,8 +2312,7 @@ pointer_surface_frame_callback(void *data, struct wl_callback *callback, uint32_t time) { struct input *input = data; - struct wl_cursor *cursor = - input->display->cursors[input->current_cursor]; + struct wl_cursor *cursor; int i; if (callback) { @@ -2324,6 +2323,9 @@ pointer_surface_frame_callback(void *data, struct wl_callback *callback, if (input->current_cursor == CURSOR_UNSET) return; + cursor = input->display->cursors[input->current_cursor]; + if (!cursor) + return; /* FIXME We don't have the current time on the first call so we set * the animation start to the time of the first frame callback. */