Put synthetic key releases after defocus event.

This allows the application to separate actual from synthetic key
release events.
This commit is contained in:
Camilla Berglund 2013-04-16 16:06:28 +02:00
parent 2caee225ea
commit 648c8e7371

View File

@ -68,6 +68,11 @@ void _glfwInputWindowFocus(_GLFWwindow* window, GLboolean focused)
{
int i;
_glfw.focusedWindow = NULL;
if (window->callbacks.focus)
window->callbacks.focus((GLFWwindow*) window, focused);
// Release all pressed keyboard keys
for (i = 0; i <= GLFW_KEY_LAST; i++)
{
@ -81,11 +86,6 @@ void _glfwInputWindowFocus(_GLFWwindow* window, GLboolean focused)
if (window->mouseButton[i] == GLFW_PRESS)
_glfwInputMouseClick(window, i, GLFW_RELEASE);
}
_glfw.focusedWindow = NULL;
if (window->callbacks.focus)
window->callbacks.focus((GLFWwindow*) window, focused);
}
}
}