From 8097274ce65a607530307921f9766dfe210acd66 Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Wed, 7 Nov 2012 17:51:39 +1100 Subject: [PATCH] Clients: Don't set the cursor when we have no pointer Avoids a segfault whenever we get a key event, and try to set the cursor, dereferencing a NULL input->pointer. Signed-off-by: Daniel Stone --- clients/window.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/clients/window.c b/clients/window.c index ddd8bca80..288a5265e 100644 --- a/clients/window.c +++ b/clients/window.c @@ -2613,6 +2613,9 @@ input_set_pointer_image_index(struct input *input, int index) struct wl_cursor *cursor; struct wl_cursor_image *image; + if (!input->pointer) + return; + cursor = input->display->cursors[input->current_cursor]; if (!cursor) return; @@ -2652,6 +2655,9 @@ pointer_surface_frame_callback(void *data, struct wl_callback *callback, input->cursor_frame_cb = NULL; } + if (!input->pointer) + return; + if (input->current_cursor == CURSOR_BLANK) { wl_pointer_set_cursor(input->pointer, input->pointer_enter_serial,