Don't segfault clients when cursor isn't found

If we can't find a cursor for whatever reason, don't crash the client in
pointer_surface_frame_callback.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
dev
Daniel Stone 13 years ago committed by Kristian Høgsberg
parent 460a79bd4b
commit a494f1d3f0
  1. 6
      clients/window.c

@ -2312,8 +2312,7 @@ pointer_surface_frame_callback(void *data, struct wl_callback *callback,
uint32_t time) uint32_t time)
{ {
struct input *input = data; struct input *input = data;
struct wl_cursor *cursor = struct wl_cursor *cursor;
input->display->cursors[input->current_cursor];
int i; int i;
if (callback) { if (callback) {
@ -2324,6 +2323,9 @@ pointer_surface_frame_callback(void *data, struct wl_callback *callback,
if (input->current_cursor == CURSOR_UNSET) if (input->current_cursor == CURSOR_UNSET)
return; 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 /* 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. */ * the animation start to the time of the first frame callback. */

Loading…
Cancel
Save