From 578071e8f94c32cc19cea67a6448d8ad7a657cde Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Thu, 2 Apr 2020 11:51:39 +0200 Subject: [PATCH] win32: avoid deadlock if waiting for current thread. La Keyboard input --- core/nullDC.cpp | 3 ++- core/stdclass.cpp | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/core/nullDC.cpp b/core/nullDC.cpp index 4a8dbf3b2..44494044b 100755 --- a/core/nullDC.cpp +++ b/core/nullDC.cpp @@ -386,7 +386,8 @@ void LoadSpecialSettings() settings.input.JammaSetup = JVS::WorldKicksPCB; } else if (!strcmp("THE TYPING OF THE DEAD", naomi_game_id) - || !strcmp(" LUPIN THE THIRD -THE TYPING-", naomi_game_id)) + || !strcmp(" LUPIN THE THIRD -THE TYPING-", naomi_game_id) + || !strcmp("------La Keyboardxyu------", naomi_game_id)) { INFO_LOG(BOOT, "Enabling keyboard for game %s", naomi_game_id); settings.input.JammaSetup = JVS::Keyboard; diff --git a/core/stdclass.cpp b/core/stdclass.cpp index ee0bf42e7..d62b0ff3d 100644 --- a/core/stdclass.cpp +++ b/core/stdclass.cpp @@ -167,7 +167,8 @@ void cThread::Start() { ResumeThread(hThread); } void cThread::WaitToEnd() { - WaitForSingleObject(hThread,INFINITE); + if (GetCurrentThreadId() != GetThreadId(hThread)) + WaitForSingleObject(hThread, INFINITE); CloseHandle(hThread); hThread = NULL; }