From 86e29ac2814be7789370c021eb858558557a7362 Mon Sep 17 00:00:00 2001 From: LittleWhite Date: Sat, 5 Sep 2015 12:29:44 +0200 Subject: Stop emulation when render window is closed --- src/citra_qt/main.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/citra_qt/main.cpp') 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) { render_window->moveContext(); emu_thread->start(); + connect(render_window, SIGNAL(Closed()), this, SLOT(OnStopGame())); // BlockingQueuedConnection is important here, it makes sure we've finished refreshing our views before the CPU continues connect(emu_thread.get(), SIGNAL(DebugModeEntered()), disasmWidget, SLOT(OnDebugModeEntered()), Qt::BlockingQueuedConnection); connect(emu_thread.get(), SIGNAL(DebugModeEntered()), registersWidget, SLOT(OnDebugModeEntered()), Qt::BlockingQueuedConnection); @@ -283,6 +284,9 @@ void GMainWindow::ShutdownGame() { emu_thread->wait(); emu_thread = nullptr; + // The emulation is stopped, so closing the window or not does not matter anymore + disconnect(render_window, SIGNAL(Closed()), this, SLOT(OnStopGame())); + // Update the GUI ui.action_Start->setEnabled(false); ui.action_Start->setText(tr("Start")); -- cgit v1.2.3