Fixed cursor outside new full screen windows.

The cursor was not positioned over newly created full screen windows,
leading to confusing behavior like invisible cursor or window
iconification.

This fix is a stop-gap until the direct cursor position work is merged.

Fixes #111.
master
Camilla Berglund ago%!(EXTRA string=11 years)
parent 7cb217ed4a
commit f3b65445dc
  1. 1
      README.md
  2. 15
      src/window.c

@ -68,6 +68,7 @@ GLFW bundles a number of dependencies in the `deps/` directory.
- Bugfix: The debug context attribute was set from `GL_ARB_debug_output` even
when a debug context had not been requested
- Bugfix: The particles example was not linked against the threading library
- Bugfix: The cursor was not positioned over newly created full screen windows
- [Cocoa] Added `_GLFW_USE_RETINA` to control whether windows will use the full
resolution on Retina displays
- [Cocoa] Bugfix: Using a 1x1 cursor for hidden mode caused some screen

@ -246,8 +246,21 @@ GLFWAPI GLFWwindow* glfwCreateWindow(int width, int height,
// Restore the previously current context (or NULL)
_glfwPlatformMakeContextCurrent(previous);
if (wndconfig.monitor == NULL && wndconfig.visible)
if (wndconfig.monitor)
{
int width, height;
_glfwPlatformGetWindowSize(window, &width, &height);
window->cursorPosX = width / 2;
window->cursorPosY = height / 2;
_glfwPlatformSetCursorPos(window, window->cursorPosX, window->cursorPosY);
}
else
{
if (wndconfig.visible)
_glfwPlatformShowWindow(window);
}
return (GLFWwindow*) window;
}

Loading…
Cancel
Save