mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-06-16 11:08:54 +00:00
Fixed HIDAPI hotplug detection when initializing gamepads off the main thread
This commit is contained in:
parent
e134d6fd7e
commit
d3f9899df5
1 changed files with 11 additions and 9 deletions
|
|
@ -388,18 +388,20 @@ static void HIDAPI_UpdateDiscovery(void)
|
|||
}
|
||||
|
||||
#if defined(SDL_PLATFORM_WIN32) || defined(SDL_PLATFORM_WINGDK)
|
||||
#if 0 // just let the usual SDL_PumpEvents loop dispatch these, fixing bug 4286. --ryan.
|
||||
// We'll only get messages on the same thread that created the window
|
||||
if (SDL_GetCurrentThreadID() == SDL_HIDAPI_discovery.m_nThreadID) {
|
||||
MSG msg;
|
||||
while (PeekMessage(&msg, SDL_HIDAPI_discovery.m_hwndMsg, 0, 0, PM_NOREMOVE)) {
|
||||
if (GetMessageA(&msg, SDL_HIDAPI_discovery.m_hwndMsg, 0, 0) != 0) {
|
||||
TranslateMessage(&msg);
|
||||
DispatchMessage(&msg);
|
||||
if (SDL_IsMainThread()) {
|
||||
// just let the usual SDL_PumpEvents loop dispatch these, fixing bug 2998. --ryan.
|
||||
} else {
|
||||
// We'll only get messages on the same thread that created the window
|
||||
if (SDL_GetCurrentThreadID() == SDL_HIDAPI_discovery.m_nThreadID) {
|
||||
MSG msg;
|
||||
while (PeekMessage(&msg, SDL_HIDAPI_discovery.m_hwndMsg, 0, 0, PM_NOREMOVE)) {
|
||||
if (GetMessageA(&msg, SDL_HIDAPI_discovery.m_hwndMsg, 0, 0) != 0) {
|
||||
TranslateMessage(&msg);
|
||||
DispatchMessage(&msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif // defined(SDL_PLATFORM_WIN32) || defined(SDL_PLATFORM_WINGDK)
|
||||
|
||||
#ifdef SDL_PLATFORM_MACOS
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue