Browse Source

[am] terminate app, if caller applet is available (#3486)

Changes ExitProcessAndReturn to terminate process if caller is available (e.g. a parent applet) and start program_index 0 if not.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3486
Reviewed-by: DraVee <dravee@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
Co-authored-by: Maufeat <sahyno1996@gmail.com>
Co-committed-by: Maufeat <sahyno1996@gmail.com>
pull/3492/head
Maufeat 1 week ago
committed by crueter
parent
commit
16f2564478
No known key found for this signature in database GPG Key ID: 425ACD2D4830EBC6
  1. 4
      src/core/hle/service/am/service/library_applet_self_accessor.cpp

4
src/core/hle/service/am/service/library_applet_self_accessor.cpp

@ -181,12 +181,12 @@ Result ILibraryAppletSelfAccessor::ExitProcessAndReturn() {
LOG_INFO(Service_AM, "called");
if (const auto caller_applet = m_applet->caller_applet.lock(); caller_applet) {
system.GetUserChannel() = caller_applet->user_channel_launch_parameter;
m_applet->process->Terminate();
} else {
system.GetUserChannel() = m_applet->user_channel_launch_parameter;
system.ExecuteProgram(0);
}
system.ExecuteProgram(0);
R_SUCCEED();
}

Loading…
Cancel
Save