From ff1c2d7914d34961a7577fd0538f78b30bfd81d3 Mon Sep 17 00:00:00 2001 From: Dima Ryazanov Date: Tue, 8 May 2012 21:02:33 -0700 Subject: [PATCH] window: Don't crash if a cursor image failed to load. Signed-off-by: Dima Ryazanov --- clients/window.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/clients/window.c b/clients/window.c index 2c59b23d..72d36d3e 100644 --- a/clients/window.c +++ b/clients/window.c @@ -687,10 +687,14 @@ create_cursors(struct display *display) display->cursor_shm_pool = shm_pool_create(display, pool_size); for (i = 0; i < count; i++) { - if (!images[i]) + cursor = &display->cursors[i]; + + if (!images[i]) { + cursor->n_images = 0; + cursor->images = NULL; continue; + } - cursor = &display->cursors[i]; create_cursor_from_images(display, cursor, images[i]); XcursorImagesDestroy(images[i]); @@ -1958,6 +1962,9 @@ input_set_pointer_image(struct input *input, uint32_t time, int pointer) if (pointer == input->current_cursor) return; + if (display->cursors[pointer].n_images == 0) + return; + image = &display->cursors[pointer].images[0]; if (!image->surface)