diff options
author | liamwhite <liamwhite@users.noreply.github.com> | 2023-09-02 14:42:35 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-02 14:42:35 -0400 |
commit | 2c5e8e6d408f0e060da4665444132c4b8bbf7759 (patch) | |
tree | 2957a8ccab9c4d2fc6ffd57fc81afce158bcceab /src/yuzu/main.cpp | |
parent | 84eb1cdb654b6724f69cfeeb4546d4ee6ff860f5 (diff) | |
parent | b7523d6fa77a963409d5fbfec4879c22a6ef9f3f (diff) |
Merge pull request #11384 from liamwhite/am-shutdown
am: shorten shutdown timeout when lock is not held
Diffstat (limited to 'src/yuzu/main.cpp')
-rw-r--r-- | src/yuzu/main.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index 33c9fd0af..9ee7a5ee4 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -2010,8 +2010,16 @@ bool GMainWindow::OnShutdownBegin() { emit EmulationStopping(); + int shutdown_time = 1000; + + if (system->DebuggerEnabled()) { + shutdown_time = 0; + } else if (system->GetExitLocked()) { + shutdown_time = 5000; + } + shutdown_timer.setSingleShot(true); - shutdown_timer.start(system->DebuggerEnabled() ? 0 : 5000); + shutdown_timer.start(shutdown_time); connect(&shutdown_timer, &QTimer::timeout, this, &GMainWindow::OnEmulationStopTimeExpired); connect(emu_thread.get(), &QThread::finished, this, &GMainWindow::OnEmulationStopped); @@ -3261,7 +3269,7 @@ void GMainWindow::OnPauseContinueGame() { } void GMainWindow::OnStopGame() { - if (system->GetExitLock() && !ConfirmForceLockedExit()) { + if (system->GetExitLocked() && !ConfirmForceLockedExit()) { return; } @@ -4515,6 +4523,8 @@ void GMainWindow::RequestGameExit() { auto applet_ae = sm.GetService<Service::AM::AppletAE>("appletAE"); bool has_signalled = false; + system->SetExitRequested(true); + if (applet_oe != nullptr) { applet_oe->GetMessageQueue()->RequestExit(); has_signalled = true; |