Browse Source

Fix a specific condition where the control applet would still freeze in MK8D

pull/311/head
MaranBr 7 months ago
parent
commit
9eff4c0326
  1. 13
      src/core/hle/service/am/service/library_applet_accessor.cpp

13
src/core/hle/service/am/service/library_applet_accessor.cpp

@ -101,12 +101,13 @@ Result ILibraryAppletAccessor::PushInData(SharedPointer<IStorage> storage) {
Result ILibraryAppletAccessor::PopOutData(Out<SharedPointer<IStorage>> out_storage) {
LOG_DEBUG(Service_AM, "called");
if (auto caller_applet = m_applet->caller_applet.lock(); caller_applet) {
Event m_system_event = caller_applet->lifecycle_manager.GetSystemEvent();
m_system_event.Signal();
caller_applet->lifecycle_manager.RequestResumeNotification();
m_system_event.Clear();
}
if (auto caller_applet = m_applet->caller_applet.lock(); caller_applet) {
Event m_system_event = caller_applet->lifecycle_manager.GetSystemEvent();
m_system_event.Signal();
caller_applet->lifecycle_manager.RequestResumeNotification();
m_system_event.Clear();
caller_applet->lifecycle_manager.SignalSystemEventIfNeeded();
}
R_RETURN(m_broker->GetOutData().Pop(out_storage.Get()));
}

Loading…
Cancel
Save