diff options
| -rw-r--r-- | src/citra_qt/bootmanager.cpp | 21 |
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(); |