diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/yuzu/main.cpp | 15 | ||||
| -rw-r--r-- | src/yuzu/main.h | 2 |
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 | ||
| 1788 | void GMainWindow::OnShutdownBegin() { | 1788 | bool 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 | ||
| 1822 | void GMainWindow::OnShutdownBeginDialog() { | 1828 | void 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 | ||
| 3010 | void GMainWindow::OnLoadComplete() { | 3017 | void 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(); |