[PATCH weston 05/11] Clients: Don't set the cursor when we have no pointer

Daniel Stone daniel at fooishbar.org
Tue Nov 6 22:51:39 PST 2012


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 <daniel at fooishbar.org>
---
 clients/window.c |    6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/clients/window.c b/clients/window.c
index ddd8bca..288a526 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,
-- 
1.7.10.4



More information about the wayland-devel mailing list