From fb135c99e36739b24b72d5a841909d156172b3e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Fri, 16 Jun 2017 15:27:00 +0200 Subject: [PATCH] Qt: Fix emulation stopped signal Same old bug as in WX. The core is not shut down until the on stopped callback is invoked. --- Source/Core/DolphinQt2/MainWindow.cpp | 7 ++++++- Source/Core/DolphinQt2/MainWindow.h | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Source/Core/DolphinQt2/MainWindow.cpp b/Source/Core/DolphinQt2/MainWindow.cpp index 5c95c28daf..0a0d33cb5d 100644 --- a/Source/Core/DolphinQt2/MainWindow.cpp +++ b/Source/Core/DolphinQt2/MainWindow.cpp @@ -52,6 +52,7 @@ MainWindow::MainWindow() : QMainWindow(nullptr) ConnectMenuBar(); InitControllers(); + InitCoreCallbacks(); } MainWindow::~MainWindow() @@ -88,6 +89,11 @@ void MainWindow::ShutdownControllers() m_hotkey_scheduler->deleteLater(); } +void MainWindow::InitCoreCallbacks() +{ + Core::SetOnStoppedCallback([this] { emit EmulationStopped(); }); +} + static void InstallHotkeyFilter(QWidget* dialog) { auto* filter = new WindowActivationEventFilter(); @@ -291,7 +297,6 @@ void MainWindow::ForceStop() { BootManager::Stop(); HideRenderWidget(); - emit EmulationStopped(); } void MainWindow::Reset() diff --git a/Source/Core/DolphinQt2/MainWindow.h b/Source/Core/DolphinQt2/MainWindow.h index 2b9b2c4e90..7577be2be7 100644 --- a/Source/Core/DolphinQt2/MainWindow.h +++ b/Source/Core/DolphinQt2/MainWindow.h @@ -69,6 +69,8 @@ private: void InitControllers(); void ShutdownControllers(); + void InitCoreCallbacks(); + void StartGame(const QString& path); void ShowRenderWidget(); void HideRenderWidget();