From 75ea409dbdd7cf0a22c630a02ba325a67237c82b Mon Sep 17 00:00:00 2001 From: Exverge Date: Tue, 26 Mar 2024 21:06:14 -0400 Subject: [PATCH] i have no idea how but this actually fixes it --- src/core/hle/service/am/service/library_applet_accessor.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/core/hle/service/am/service/library_applet_accessor.cpp b/src/core/hle/service/am/service/library_applet_accessor.cpp index 26d716fc8c..711e2dff8f 100644 --- a/src/core/hle/service/am/service/library_applet_accessor.cpp +++ b/src/core/hle/service/am/service/library_applet_accessor.cpp @@ -109,11 +109,15 @@ Result ILibraryAppletAccessor::PopOutData(Out> out_stora system.GetAppletManager().RequestApplicationToForeground(); // todo: is_appliaction is false because TrackApplet will not accept replacing the currently tracked applet system.GetAppletManager().TrackApplet(caller, false); + caller->SetInteractibleLocked(false); + caller->SetInteractibleLocked(true); caller->lifecycle_manager.SetResumeNotificationEnabled(true); caller->lifecycle_manager.SetFocusState(FocusState::InFocus); caller->lifecycle_manager.RequestResumeNotification(); caller->lifecycle_manager.RequestResumeNotification(); + caller->UpdateSuspensionStateLocked(true); bool result = caller->lifecycle_manager.UpdateRequestedFocusState(); + caller->lifecycle_manager.SignalSystemEventIfNeeded(); LOG_DEBUG(Service_AM, "result: {}, exit: {}", result, caller->lifecycle_manager.GetExitRequested()); } else { LOG_CRITICAL(Service_AM, "Caller applet pointer is invalid.");