diff options
| author | Tony Wasserka <NeoBrainX@gmail.com> | 2014-10-25 18:02:26 +0200 | 
|---|---|---|
| committer | Tony Wasserka <NeoBrainX@gmail.com> | 2014-12-09 16:37:34 +0100 | 
| commit | 2c71ec70527abd091d69f1fdd30aaf95d815214a (patch) | |
| tree | d0e1f48b048f6d3ef801d0562bfcfe0fa11de6f1 /src/citra_qt/bootmanager.cpp | |
| parent | 706f9c5574f74b018958477813495dd6e15bd00d (diff) | |
Pica/DebugUtils: Add breakpoint functionality.
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...");  | 
