[PATCH] dnd: fix segfault on grabbing

Philipp Brüschweiler blei42 at gmail.com
Mon Aug 13 11:04:54 PDT 2012


Some cursor themes don't include a "grabbing" icon, causing a segfault.
This patch fixes this by just reverting to the stardard cursor instead.
---
 clients/dnd.c | 7 +++++++
 1 Datei geändert, 7 Zeilen hinzugefügt(+)

diff --git a/clients/dnd.c b/clients/dnd.c
index 6f55e95..44c1541 100644
--- a/clients/dnd.c
+++ b/clients/dnd.c
@@ -20,6 +20,7 @@
  * OF THIS SOFTWARE.
  */
 
+#include <assert.h>
 #include <stdint.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -327,6 +328,12 @@ create_drag_cursor(struct dnd_drag *dnd_drag,
 	cairo_t *cr;
 
 	pointer = display_get_pointer_image(dnd->display, CURSOR_DRAGGING);
+	if (!pointer) {
+		fprintf(stderr, "WARNING: grabbing cursor image not found\n");
+		pointer = display_get_pointer_image(dnd->display,
+						    CURSOR_LEFT_PTR);
+		assert(pointer && "no cursor image found");
+	}
 
 	rectangle.width = item_width + 2 * pointer->width;
 	rectangle.height = item_height + 2 * pointer->height;
-- 
1.7.11.4



More information about the wayland-devel mailing list