diff options
Diffstat (limited to 'src')
| -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() { | |||
| 65 | was_active = false; | 65 | was_active = false; |
| 66 | } else { | 66 | } else { |
| 67 | std::unique_lock<std::mutex> lock(running_mutex); | 67 | std::unique_lock<std::mutex> lock(running_mutex); |
| 68 | running_cv.wait(lock, [this]{ return IsRunning() || stop_run; }); | 68 | running_cv.wait(lock, [this]{ return IsRunning() || exec_step || stop_run; }); |
| 69 | } | 69 | } |
| 70 | } | 70 | } |
| 71 | 71 | ||
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: | |||
| 35 | * Steps the emulation thread by a single CPU instruction (if the CPU is not already running) | 35 | * Steps the emulation thread by a single CPU instruction (if the CPU is not already running) |
| 36 | * @note This function is thread-safe | 36 | * @note This function is thread-safe |
| 37 | */ | 37 | */ |
| 38 | void ExecStep() { exec_step = true; } | 38 | void ExecStep() { |
| 39 | exec_step = true; | ||
| 40 | running_cv.notify_all(); | ||
| 41 | } | ||
| 39 | 42 | ||
| 40 | /** | 43 | /** |
| 41 | * Sets whether the emulation thread is running or not | 44 | * Sets whether the emulation thread is running or not |