Browse Source

Reset the keyboard when entering a modal loop on Windows

Fixes https://github.com/libsdl-org/SDL/issues/12876

(cherry picked from commit da3c864d4c7c56d176bbf938345c2a5f784a7cd2)
Sam Lantinga 4 months ago
parent
commit
825c0c7691
1 changed files with 3 additions and 0 deletions
  1. 3 0
      src/video/windows/SDL_windowsevents.c

+ 3 - 0
src/video/windows/SDL_windowsevents.c

@@ -1854,6 +1854,9 @@ LRESULT CALLBACK WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPara
             data->initial_size_rect.bottom = data->window->y + data->window->h;
             data->initial_size_rect.bottom = data->window->y + data->window->h;
 
 
             SetTimer(hwnd, (UINT_PTR)SDL_IterateMainCallbacks, USER_TIMER_MINIMUM, NULL);
             SetTimer(hwnd, (UINT_PTR)SDL_IterateMainCallbacks, USER_TIMER_MINIMUM, NULL);
+
+            // Reset the keyboard, as we won't get any key up events during the modal loop
+            SDL_ResetKeyboard();
         }
         }
     } break;
     } break;