mirror of
https://github.com/Atmosphere-NX/Atmosphere.git
synced 2024-12-23 10:52:13 +00:00
Add missing extension cleanup.
This commit is contained in:
parent
934ff7bbde
commit
e5c5101e8a
2 changed files with 18 additions and 5 deletions
|
@ -1 +1 @@
|
||||||
Subproject commit e37089d167ff2cd8009924bfa32ab179db918376
|
Subproject commit 403f1c7a014c47bf7e907da04df9f9b591b9f89f
|
|
@ -21,6 +21,7 @@
|
||||||
|
|
||||||
#include "ldr_capabilities.hpp"
|
#include "ldr_capabilities.hpp"
|
||||||
#include "ldr_content_management.hpp"
|
#include "ldr_content_management.hpp"
|
||||||
|
#include "ldr_ecs.hpp"
|
||||||
#include "ldr_launch_record.hpp"
|
#include "ldr_launch_record.hpp"
|
||||||
#include "ldr_meta.hpp"
|
#include "ldr_meta.hpp"
|
||||||
#include "ldr_patcher.hpp"
|
#include "ldr_patcher.hpp"
|
||||||
|
@ -669,9 +670,9 @@ namespace sts::ldr {
|
||||||
R_TRY(LoadNsosIntoProcessMemory(&info, loc.title_id, nso_headers, has_nso, arg_info));
|
R_TRY(LoadNsosIntoProcessMemory(&info, loc.title_id, nso_headers, has_nso, arg_info));
|
||||||
|
|
||||||
/* Register NSOs with ro manager. */
|
/* Register NSOs with ro manager. */
|
||||||
|
u64 process_id;
|
||||||
{
|
{
|
||||||
/* Nintendo doesn't validate this result, but we will. */
|
/* Nintendo doesn't validate this result, but we will. */
|
||||||
u64 process_id;
|
|
||||||
R_ASSERT(svcGetProcessId(&process_id, info.process_handle.Get()));
|
R_ASSERT(svcGetProcessId(&process_id, info.process_handle.Get()));
|
||||||
|
|
||||||
/* Register new process. */
|
/* Register new process. */
|
||||||
|
@ -685,13 +686,25 @@ namespace sts::ldr {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Move the process handle to output. */
|
/* Inform SM about the title for association purposes. */
|
||||||
*out = info.process_handle.Move();
|
R_ASSERT(sm::mitm::AssociateProcessIdAndTitleId(process_id, static_cast<u64>(loc.title_id)));
|
||||||
|
|
||||||
|
/* If we're overriding for HBL, perform HTML document redirection. */
|
||||||
|
if (mount.IsHblMounted()) {
|
||||||
|
/* Don't validate result, failure is okay. */
|
||||||
|
RedirectHtmlDocumentPathForHbl(loc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Clear the ECS entry for the title. */
|
||||||
|
R_ASSERT(ecs::Clear(loc.title_id));
|
||||||
|
|
||||||
/* Note that we've created the title. */
|
/* Note that we've created the title. */
|
||||||
SetLaunchedTitle(loc.title_id);
|
SetLaunchedTitle(loc.title_id);
|
||||||
|
|
||||||
|
/* Move the process handle to output. */
|
||||||
|
*out = info.process_handle.Move();
|
||||||
|
}
|
||||||
|
|
||||||
return ResultSuccess;
|
return ResultSuccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue