[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