summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/citra_qt/main.cpp15
-rw-r--r--src/citra_qt/main.h2
2 files changed, 13 insertions, 4 deletions
diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp
index 01841b33c..58de28c1d 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 32523fded..e99501cab 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<EmuThread> emu_thread;
ProfilerWidget* profilerWidget;