diff options
Diffstat (limited to 'src/yuzu')
| -rw-r--r-- | src/yuzu/main.cpp | 17 | ||||
| -rw-r--r-- | src/yuzu/main.h | 1 | 
2 files changed, 18 insertions, 0 deletions
| diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index ed802d329..e60d84054 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -1131,6 +1131,7 @@ void GMainWindow::OnAppFocusStateChanged(Qt::ApplicationState state) {              OnPauseGame();          } else if (!emu_thread->IsRunning() && auto_paused && state == Qt::ApplicationActive) {              auto_paused = false; +            RequestGameResume();              OnStartGame();          }      } @@ -2570,6 +2571,7 @@ void GMainWindow::OnPauseContinueGame() {          if (emu_thread->IsRunning()) {              OnPauseGame();          } else { +            RequestGameResume();              OnStartGame();          }      } @@ -3749,6 +3751,21 @@ void GMainWindow::RequestGameExit() {      }  } +void GMainWindow::RequestGameResume() { +    auto& sm{system->ServiceManager()}; +    auto applet_oe = sm.GetService<Service::AM::AppletOE>("appletOE"); +    auto applet_ae = sm.GetService<Service::AM::AppletAE>("appletAE"); + +    if (applet_oe != nullptr) { +        applet_oe->GetMessageQueue()->RequestResume(); +        return; +    } + +    if (applet_ae != nullptr) { +        applet_ae->GetMessageQueue()->RequestResume(); +    } +} +  void GMainWindow::filterBarSetChecked(bool state) {      ui->action_Show_Filter_Bar->setChecked(state);      emit(OnToggleFilterBar()); diff --git a/src/yuzu/main.h b/src/yuzu/main.h index 8cf224c9c..09e37f152 100644 --- a/src/yuzu/main.h +++ b/src/yuzu/main.h @@ -244,6 +244,7 @@ private:      bool ConfirmChangeGame();      bool ConfirmForceLockedExit();      void RequestGameExit(); +    void RequestGameResume();      void closeEvent(QCloseEvent* event) override;  private slots: | 
