diff options
| author | 2015-09-05 12:29:44 +0200 | |
|---|---|---|
| committer | 2015-09-07 20:34:39 +0200 | |
| commit | 86e29ac2814be7789370c021eb858558557a7362 (patch) | |
| tree | ed0855e6e962d979d06e00ee007a26e6c8a7c233 /src/citra_qt/main.cpp | |
| parent | Merge pull request #1117 from yuriks/fix-glad-build (diff) | |
| download | yuzu-86e29ac2814be7789370c021eb858558557a7362.tar.gz yuzu-86e29ac2814be7789370c021eb858558557a7362.tar.xz yuzu-86e29ac2814be7789370c021eb858558557a7362.zip | |
Stop emulation when render window is closed
Diffstat (limited to 'src/citra_qt/main.cpp')
| -rw-r--r-- | src/citra_qt/main.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp index 11813a2a8..8dadb44ef 100644 --- a/src/citra_qt/main.cpp +++ b/src/citra_qt/main.cpp | |||
| @@ -251,6 +251,7 @@ void GMainWindow::BootGame(const std::string& filename) { | |||
| 251 | render_window->moveContext(); | 251 | render_window->moveContext(); |
| 252 | emu_thread->start(); | 252 | emu_thread->start(); |
| 253 | 253 | ||
| 254 | connect(render_window, SIGNAL(Closed()), this, SLOT(OnStopGame())); | ||
| 254 | // BlockingQueuedConnection is important here, it makes sure we've finished refreshing our views before the CPU continues | 255 | // BlockingQueuedConnection is important here, it makes sure we've finished refreshing our views before the CPU continues |
| 255 | connect(emu_thread.get(), SIGNAL(DebugModeEntered()), disasmWidget, SLOT(OnDebugModeEntered()), Qt::BlockingQueuedConnection); | 256 | connect(emu_thread.get(), SIGNAL(DebugModeEntered()), disasmWidget, SLOT(OnDebugModeEntered()), Qt::BlockingQueuedConnection); |
| 256 | connect(emu_thread.get(), SIGNAL(DebugModeEntered()), registersWidget, SLOT(OnDebugModeEntered()), Qt::BlockingQueuedConnection); | 257 | connect(emu_thread.get(), SIGNAL(DebugModeEntered()), registersWidget, SLOT(OnDebugModeEntered()), Qt::BlockingQueuedConnection); |
| @@ -283,6 +284,9 @@ void GMainWindow::ShutdownGame() { | |||
| 283 | emu_thread->wait(); | 284 | emu_thread->wait(); |
| 284 | emu_thread = nullptr; | 285 | emu_thread = nullptr; |
| 285 | 286 | ||
| 287 | // The emulation is stopped, so closing the window or not does not matter anymore | ||
| 288 | disconnect(render_window, SIGNAL(Closed()), this, SLOT(OnStopGame())); | ||
| 289 | |||
| 286 | // Update the GUI | 290 | // Update the GUI |
| 287 | ui.action_Start->setEnabled(false); | 291 | ui.action_Start->setEnabled(false); |
| 288 | ui.action_Start->setText(tr("Start")); | 292 | ui.action_Start->setText(tr("Start")); |