summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/citra_qt/bootmanager.cpp21
1 files changed, 9 insertions, 12 deletions
diff --git a/src/citra_qt/bootmanager.cpp b/src/citra_qt/bootmanager.cpp
index 8f3799351..20824692d 100644
--- a/src/citra_qt/bootmanager.cpp
+++ b/src/citra_qt/bootmanager.cpp
@@ -33,19 +33,16 @@ void EmuThread::run()
33 stop_run = false; 33 stop_run = false;
34 while (!stop_run) 34 while (!stop_run)
35 { 35 {
36 for (int tight_loop = 0; tight_loop < 10000; ++tight_loop) 36 if (cpu_running)
37 { 37 {
38 if (cpu_running || exec_cpu_step) 38 Core::RunLoop();
39 { 39 }
40 if (exec_cpu_step) 40 else if (exec_cpu_step)
41 exec_cpu_step = false; 41 {
42 42 exec_cpu_step = false;
43 Core::SingleStep(); 43 Core::SingleStep();
44 if (!cpu_running) { 44 emit CPUStepped();
45 emit CPUStepped(); 45 yieldCurrentThread();
46 yieldCurrentThread();
47 }
48 }
49 } 46 }
50 } 47 }
51 render_window->moveContext(); 48 render_window->moveContext();