|
|
@@ -333,6 +333,11 @@ bool SDL_SetKeyboardFocus(SDL_Window *window)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ if (keyboard->focus && !window) {
|
|
|
+ // We won't get anymore keyboard messages, so reset keyboard state
|
|
|
+ SDL_ResetKeyboard();
|
|
|
+ }
|
|
|
+
|
|
|
// See if the current window has lost focus
|
|
|
if (keyboard->focus && keyboard->focus != window) {
|
|
|
SDL_SendWindowEvent(keyboard->focus, SDL_EVENT_WINDOW_FOCUS_LOST, 0, 0);
|
|
|
@@ -346,9 +351,6 @@ bool SDL_SetKeyboardFocus(SDL_Window *window)
|
|
|
}
|
|
|
|
|
|
if (keyboard->focus && !window) {
|
|
|
- // We won't get anymore keyboard messages, so reset keyboard state
|
|
|
- SDL_ResetKeyboard();
|
|
|
-
|
|
|
// Also leave mouse relative mode
|
|
|
if (mouse->relative_mode) {
|
|
|
SDL_SetRelativeMouseMode(false);
|