This commit is contained in:
Camilla Berglund 2016-09-06 16:21:15 +02:00
parent 5ff7d9505f
commit fafe1732b5
3 changed files with 12 additions and 7 deletions

View File

@ -745,7 +745,7 @@ int _glfwPlatformInit(void)
if (!initExtensions()) if (!initExtensions())
return GLFW_FALSE; return GLFW_FALSE;
_glfw.x11.cursor = createHiddenCursor(); _glfw.x11.hiddenCursorHandle = createHiddenCursor();
if (XSupportsLocale()) if (XSupportsLocale())
{ {
@ -781,10 +781,10 @@ void _glfwPlatformTerminate(void)
_glfw.x11.x11xcb.handle = NULL; _glfw.x11.x11xcb.handle = NULL;
} }
if (_glfw.x11.cursor) if (_glfw.x11.hiddenCursorHandle)
{ {
XFreeCursor(_glfw.x11.display, _glfw.x11.cursor); XFreeCursor(_glfw.x11.display, _glfw.x11.hiddenCursorHandle);
_glfw.x11.cursor = (Cursor) 0; _glfw.x11.hiddenCursorHandle = (Cursor) 0;
} }
free(_glfw.x11.clipboardString); free(_glfw.x11.clipboardString);

View File

@ -137,7 +137,7 @@ typedef struct _GLFWlibraryX11
Window root; Window root;
// Invisible cursor for hidden cursor mode // Invisible cursor for hidden cursor mode
Cursor cursor; Cursor hiddenCursorHandle;
// Context for mapping window XIDs to _GLFWwindow pointers // Context for mapping window XIDs to _GLFWwindow pointers
XContext context; XContext context;
// XIM input method // XIM input method

View File

@ -458,7 +458,10 @@ static void updateCursorImage(_GLFWwindow* window)
XUndefineCursor(_glfw.x11.display, window->x11.handle); XUndefineCursor(_glfw.x11.display, window->x11.handle);
} }
else else
XDefineCursor(_glfw.x11.display, window->x11.handle, _glfw.x11.cursor); {
XDefineCursor(_glfw.x11.display, window->x11.handle,
_glfw.x11.hiddenCursorHandle);
}
} }
// Create the X11 window (and its colormap) // Create the X11 window (and its colormap)
@ -2140,7 +2143,9 @@ void _glfwPlatformSetCursorMode(_GLFWwindow* window, int mode)
XGrabPointer(_glfw.x11.display, window->x11.handle, True, XGrabPointer(_glfw.x11.display, window->x11.handle, True,
ButtonPressMask | ButtonReleaseMask | PointerMotionMask, ButtonPressMask | ButtonReleaseMask | PointerMotionMask,
GrabModeAsync, GrabModeAsync, GrabModeAsync, GrabModeAsync,
window->x11.handle, _glfw.x11.cursor, CurrentTime); window->x11.handle,
_glfw.x11.hiddenCursorHandle,
CurrentTime);
} }
else if (_glfw.x11.disabledCursorWindow == window) else if (_glfw.x11.disabledCursorWindow == window)
{ {