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>
diff --git a/clients/window.c b/clients/window.c
index 436f862..36caeb3 100644
--- a/clients/window.c
+++ b/clients/window.c
@@ -2312,8 +2312,7 @@
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 @@
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. */