From afd06675fa2b93c81f0f868443c03cc3ad8bee07 Mon Sep 17 00:00:00 2001 From: archshift Date: Mon, 31 Aug 2015 18:30:06 -0700 Subject: [PATCH] Don't show render window until a game is started --- src/citra_qt/main.cpp | 15 +++++++++++---- src/citra_qt/main.h | 2 ++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp index 01841b33c2..58de28c1dc 100644 --- a/src/citra_qt/main.cpp +++ b/src/citra_qt/main.cpp @@ -266,6 +266,7 @@ void GMainWindow::BootGame(const std::string& filename) { callstackWidget->OnDebugModeEntered(); render_window->show(); + emulation_running = true; OnStartGame(); } @@ -294,6 +295,8 @@ void GMainWindow::ShutdownGame() { ui.action_Pause->setEnabled(false); ui.action_Stop->setEnabled(false); render_window->hide(); + + emulation_running = false; } void GMainWindow::StoreRecentFile(const QString& filename) @@ -423,17 +426,21 @@ void GMainWindow::ToggleWindowMode() { // Render in the main window... render_window->BackupGeometry(); ui.horizontalLayout->addWidget(render_window); - render_window->setVisible(true); render_window->setFocusPolicy(Qt::ClickFocus); - render_window->setFocus(); + if (emulation_running) { + render_window->setVisible(true); + render_window->setFocus(); + } } else { // Render in a separate window... ui.horizontalLayout->removeWidget(render_window); render_window->setParent(nullptr); - render_window->setVisible(true); - render_window->RestoreGeometry(); render_window->setFocusPolicy(Qt::NoFocus); + if (emulation_running) { + render_window->setVisible(true); + render_window->RestoreGeometry(); + } } } diff --git a/src/citra_qt/main.h b/src/citra_qt/main.h index 32523fded6..e99501cabe 100644 --- a/src/citra_qt/main.h +++ b/src/citra_qt/main.h @@ -102,6 +102,8 @@ private: GRenderWindow* render_window; + // Whether emulation is currently running in Citra. + bool emulation_running = false; std::unique_ptr emu_thread; ProfilerWidget* profilerWidget;