From 7ccce98389037f2bb9deac489af960bf991da0b6 Mon Sep 17 00:00:00 2001 From: aroulin Date: Mon, 13 Jul 2015 17:27:12 +0200 Subject: Qt: Fix disassembly widget stepping --- src/citra_qt/bootmanager.cpp | 2 +- src/citra_qt/bootmanager.h | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'src/citra_qt') diff --git a/src/citra_qt/bootmanager.cpp b/src/citra_qt/bootmanager.cpp index 9d36364d..fa7bce46 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 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 47512431..1a1e0e6a 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 -- cgit v1.2.3