Put synthetic key releases after defocus event.
This allows the application to separate actual from synthetic key release events.
This commit is contained in:
parent
2caee225ea
commit
648c8e7371
10
src/window.c
10
src/window.c
@ -68,6 +68,11 @@ void _glfwInputWindowFocus(_GLFWwindow* window, GLboolean focused)
|
|||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
_glfw.focusedWindow = NULL;
|
||||||
|
|
||||||
|
if (window->callbacks.focus)
|
||||||
|
window->callbacks.focus((GLFWwindow*) window, focused);
|
||||||
|
|
||||||
// Release all pressed keyboard keys
|
// Release all pressed keyboard keys
|
||||||
for (i = 0; i <= GLFW_KEY_LAST; i++)
|
for (i = 0; i <= GLFW_KEY_LAST; i++)
|
||||||
{
|
{
|
||||||
@ -81,11 +86,6 @@ void _glfwInputWindowFocus(_GLFWwindow* window, GLboolean focused)
|
|||||||
if (window->mouseButton[i] == GLFW_PRESS)
|
if (window->mouseButton[i] == GLFW_PRESS)
|
||||||
_glfwInputMouseClick(window, i, GLFW_RELEASE);
|
_glfwInputMouseClick(window, i, GLFW_RELEASE);
|
||||||
}
|
}
|
||||||
|
|
||||||
_glfw.focusedWindow = NULL;
|
|
||||||
|
|
||||||
if (window->callbacks.focus)
|
|
||||||
window->callbacks.focus((GLFWwindow*) window, focused);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user