diff options
Diffstat (limited to 'src/citra_qt')
| -rw-r--r-- | src/citra_qt/bootmanager.cpp | 2 | ||||
| -rw-r--r-- | src/citra_qt/bootmanager.h | 5 | 
2 files changed, 5 insertions, 2 deletions
| diff --git a/src/citra_qt/bootmanager.cpp b/src/citra_qt/bootmanager.cpp index 9d36364dd..fa7bce466 100644 --- a/src/citra_qt/bootmanager.cpp +++ b/src/citra_qt/bootmanager.cpp @@ -65,7 +65,7 @@ void EmuThread::run() {              was_active = false;          } else {              std::unique_lock<std::mutex> lock(running_mutex); -            running_cv.wait(lock, [this]{ return IsRunning() || stop_run; }); +            running_cv.wait(lock, [this]{ return IsRunning() || exec_step || stop_run; });          }      } diff --git a/src/citra_qt/bootmanager.h b/src/citra_qt/bootmanager.h index 475124319..1a1e0e6a5 100644 --- a/src/citra_qt/bootmanager.h +++ b/src/citra_qt/bootmanager.h @@ -35,7 +35,10 @@ public:       * Steps the emulation thread by a single CPU instruction (if the CPU is not already running)       * @note This function is thread-safe       */ -    void ExecStep() { exec_step = true; } +    void ExecStep() { +        exec_step = true; +        running_cv.notify_all(); +    }      /**       * Sets whether the emulation thread is running or not | 
