diff --git a/Source/Core/DolphinWX/Src/Frame.cpp b/Source/Core/DolphinWX/Src/Frame.cpp index 2127027657..dc48955716 100644 --- a/Source/Core/DolphinWX/Src/Frame.cpp +++ b/Source/Core/DolphinWX/Src/Frame.cpp @@ -351,6 +351,7 @@ CFrame::CFrame(wxFrame* parent, #ifdef __WXGTK__ panic_event.Init(); keystate_event.Init(); + bKeyStateResult = false; #endif if (ShowLogWindow) SConfig::GetInstance().m_InterfaceLogWindow = true; diff --git a/Source/Core/DolphinWX/Src/FrameTools.cpp b/Source/Core/DolphinWX/Src/FrameTools.cpp index 2acb2dab12..72c2742da3 100644 --- a/Source/Core/DolphinWX/Src/FrameTools.cpp +++ b/Source/Core/DolphinWX/Src/FrameTools.cpp @@ -978,6 +978,11 @@ void CFrame::DoStop() if(Frame::IsPlayingInput() || Frame::IsRecordingInput()) Frame::EndPlayInput(); +#ifdef __WXGTK__ + // Make sure the app doesn't hang waiting on a keystate check + keystate_event.Set(); +#endif + BootManager::Stop(); #if defined(HAVE_XDG_SCREENSAVER) && HAVE_XDG_SCREENSAVER