From abf0de6233c788d6ba086da366628c2ea87a8776 Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Wed, 7 Jul 2004 10:31:26 +0000 Subject: [PATCH] Fixed linux native cursor hotspot --- src/native/linux/org_lwjgl_input_Cursor.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/native/linux/org_lwjgl_input_Cursor.cpp b/src/native/linux/org_lwjgl_input_Cursor.cpp index 8d1306b2..0bfb87e4 100644 --- a/src/native/linux/org_lwjgl_input_Cursor.cpp +++ b/src/native/linux/org_lwjgl_input_Cursor.cpp @@ -55,7 +55,7 @@ JNIEXPORT jlong JNICALL Java_org_lwjgl_input_Cursor_nCreateCursor Display *disp = incDisplay(env); if (disp == NULL) return 0; - const int *delays = NULL; + const int *delays = NULL; if (delay_buffer != NULL) delays = (const int *)env->GetDirectBufferAddress(delay_buffer) + delays_offset; XcursorPixel *pixels = (XcursorPixel *)env->GetDirectBufferAddress(image_buffer) + images_offset; @@ -67,7 +67,8 @@ JNIEXPORT jlong JNICALL Java_org_lwjgl_input_Cursor_nCreateCursor for (int i = 0; i < num_images; i++) { XcursorImage *cursor_image = XcursorImageCreate(width, height); cursor_image->xhot = x_hotspot; - cursor_image->yhot = y_hotspot; + // Of some reason, the y hotspot coordinate is offset by 1 + cursor_image->yhot = y_hotspot + 1; cursor_image->pixels = &(pixels[stride*i]); if (num_images > 1) cursor_image->delay = delays[i];