diff options
author | bunnei <bunneidev@gmail.com> | 2014-12-09 12:14:05 -0500 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2014-12-09 12:14:05 -0500 |
commit | 360f68419db55de15a996feb1874d1b0b82c4661 (patch) | |
tree | 816d9a88deded411908e6d9aa22a648416c41469 /src/citra_qt/bootmanager.cpp | |
parent | b7327f807cc2d85a6a5353b904de7781a6c6429c (diff) | |
parent | 8b8131baecca16b46c22318b3331b2165cc74cbc (diff) |
Merge pull request #218 from neobrain/pica_debugger
Pica debugger improvements
Diffstat (limited to 'src/citra_qt/bootmanager.cpp')
-rw-r--r-- | src/citra_qt/bootmanager.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/citra_qt/bootmanager.cpp b/src/citra_qt/bootmanager.cpp index 9a29f974b..b53206be6 100644 --- a/src/citra_qt/bootmanager.cpp +++ b/src/citra_qt/bootmanager.cpp @@ -14,6 +14,8 @@ #include "core/core.h" #include "core/settings.h" +#include "video_core/debug_utils/debug_utils.h" + #include "video_core/video_core.h" #include "citra_qt/version.h" @@ -65,14 +67,21 @@ void EmuThread::Stop() } stop_run = true; + // Release emu threads from any breakpoints, so that this doesn't hang forever. + Pica::g_debug_context->ClearBreakpoints(); + //core::g_state = core::SYS_DIE; - wait(500); + // TODO: Waiting here is just a bad workaround for retarded shutdown logic. + wait(1000); if (isRunning()) { WARN_LOG(MASTER_LOG, "EmuThread still running, terminating..."); quit(); - wait(1000); + + // TODO: Waiting 50 seconds can be necessary if the logging subsystem has a lot of spam + // queued... This should be fixed. + wait(50000); if (isRunning()) { WARN_LOG(MASTER_LOG, "EmuThread STILL running, something is wrong here..."); |