summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/yuzu/main.cpp15
-rw-r--r--src/yuzu/main.h2
2 files changed, 12 insertions, 5 deletions
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index 6121711e0..524650144 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -1785,9 +1785,9 @@ void GMainWindow::BootGame(const QString& filename, u64 program_id, std::size_t
1785 OnStartGame(); 1785 OnStartGame();
1786} 1786}
1787 1787
1788void GMainWindow::OnShutdownBegin() { 1788bool GMainWindow::OnShutdownBegin() {
1789 if (!emulation_running) { 1789 if (!emulation_running) {
1790 return; 1790 return false;
1791 } 1791 }
1792 1792
1793 if (ui->action_Fullscreen->isChecked()) { 1793 if (ui->action_Fullscreen->isChecked()) {
@@ -1799,6 +1799,10 @@ void GMainWindow::OnShutdownBegin() {
1799 // Disable unlimited frame rate 1799 // Disable unlimited frame rate
1800 Settings::values.use_speed_limit.SetValue(true); 1800 Settings::values.use_speed_limit.SetValue(true);
1801 1801
1802 if (system->IsShuttingDown()) {
1803 return false;
1804 }
1805
1802 system->SetShuttingDown(true); 1806 system->SetShuttingDown(true);
1803 discord_rpc->Pause(); 1807 discord_rpc->Pause();
1804 1808
@@ -1817,6 +1821,8 @@ void GMainWindow::OnShutdownBegin() {
1817 ui->action_Pause->setEnabled(false); 1821 ui->action_Pause->setEnabled(false);
1818 ui->action_Restart->setEnabled(false); 1822 ui->action_Restart->setEnabled(false);
1819 ui->action_Stop->setEnabled(false); 1823 ui->action_Stop->setEnabled(false);
1824
1825 return true;
1820} 1826}
1821 1827
1822void GMainWindow::OnShutdownBeginDialog() { 1828void GMainWindow::OnShutdownBeginDialog() {
@@ -3003,8 +3009,9 @@ void GMainWindow::OnStopGame() {
3003 return; 3009 return;
3004 } 3010 }
3005 3011
3006 OnShutdownBegin(); 3012 if (OnShutdownBegin()) {
3007 OnShutdownBeginDialog(); 3013 OnShutdownBeginDialog();
3014 }
3008} 3015}
3009 3016
3010void GMainWindow::OnLoadComplete() { 3017void GMainWindow::OnLoadComplete() {
diff --git a/src/yuzu/main.h b/src/yuzu/main.h
index 95220b063..db318485d 100644
--- a/src/yuzu/main.h
+++ b/src/yuzu/main.h
@@ -336,7 +336,7 @@ private slots:
336 void OnReinitializeKeys(ReinitializeKeyBehavior behavior); 336 void OnReinitializeKeys(ReinitializeKeyBehavior behavior);
337 void OnLanguageChanged(const QString& locale); 337 void OnLanguageChanged(const QString& locale);
338 void OnMouseActivity(); 338 void OnMouseActivity();
339 void OnShutdownBegin(); 339 bool OnShutdownBegin();
340 void OnShutdownBeginDialog(); 340 void OnShutdownBeginDialog();
341 void OnEmulationStopped(); 341 void OnEmulationStopped();
342 void OnEmulationStopTimeExpired(); 342 void OnEmulationStopTimeExpired();