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())
return GLFW_FALSE;
_glfw.x11.cursor = createHiddenCursor();
_glfw.x11.hiddenCursorHandle = createHiddenCursor();
if (XSupportsLocale())
{
@ -781,10 +781,10 @@ void _glfwPlatformTerminate(void)
_glfw.x11.x11xcb.handle = NULL;
}
if (_glfw.x11.cursor)
if (_glfw.x11.hiddenCursorHandle)
{
XFreeCursor(_glfw.x11.display, _glfw.x11.cursor);
_glfw.x11.cursor = (Cursor) 0;
XFreeCursor(_glfw.x11.display, _glfw.x11.hiddenCursorHandle);
_glfw.x11.hiddenCursorHandle = (Cursor) 0;
}
free(_glfw.x11.clipboardString);

View File

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

View File

@ -458,7 +458,10 @@ static void updateCursorImage(_GLFWwindow* window)
XUndefineCursor(_glfw.x11.display, window->x11.handle);
}
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)
@ -2140,7 +2143,9 @@ void _glfwPlatformSetCursorMode(_GLFWwindow* window, int mode)
XGrabPointer(_glfw.x11.display, window->x11.handle, True,
ButtonPressMask | ButtonReleaseMask | PointerMotionMask,
GrabModeAsync, GrabModeAsync,
window->x11.handle, _glfw.x11.cursor, CurrentTime);
window->x11.handle,
_glfw.x11.hiddenCursorHandle,
CurrentTime);
}
else if (_glfw.x11.disabledCursorWindow == window)
{