瀏覽代碼

Merge pull request #924 from aroulin/qt-disassembly-step

Qt: Fix disassembly widget stepping
Yuri Kunde Schlesner 11 年之前
父節點
當前提交
1fc0347d27
共有 2 個文件被更改,包括 5 次插入2 次删除
  1. 1 1
      src/citra_qt/bootmanager.cpp
  2. 4 1
      src/citra_qt/bootmanager.h

+ 1 - 1
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; });
         }
     }
 

+ 4 - 1
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