citra-emu
/
citra
Archived
1
0
Fork 0

applet_manager: disable loading LLE applets

Currently LLE applets cannot exit properly in Citra and causes Citra to hang. We are already providing HLE for applets, and the LLE applets are preventing users who dumped their system files from using the applets correctly. Before the further fix is done, I think we should temporaily disable loading LLE applets.
This commit is contained in:
zhupengfei 2018-07-24 22:59:10 +08:00
parent 87872aa369
commit 44db59be2b
No known key found for this signature in database
GPG Key ID: 85B82A3E62174206
1 changed files with 14 additions and 8 deletions

View File

@ -321,10 +321,13 @@ ResultCode AppletManager::PrepareToStartLibraryApplet(AppletId applet_id) {
ErrorSummary::InvalidState, ErrorLevel::Status);
}
auto process = NS::LaunchTitle(FS::MediaType::NAND, GetTitleIdForApplet(applet_id));
if (process) {
return RESULT_SUCCESS;
}
// There are some problems with LLE applets. The rasterizer cache gets out of sync
// when the applet is closed. To avoid breaking applications because of the issue,
// we are going to disable loading LLE applets before further fixes are done.
// auto process = NS::LaunchTitle(FS::MediaType::NAND, GetTitleIdForApplet(applet_id));
// if (process) {
// return RESULT_SUCCESS;
// }
// If we weren't able to load the native applet title, try to fallback to an HLE implementation.
auto applet = HLE::Applets::Applet::Get(applet_id);
@ -345,10 +348,13 @@ ResultCode AppletManager::PreloadLibraryApplet(AppletId applet_id) {
ErrorSummary::InvalidState, ErrorLevel::Status);
}
auto process = NS::LaunchTitle(FS::MediaType::NAND, GetTitleIdForApplet(applet_id));
if (process) {
return RESULT_SUCCESS;
}
// There are some problems with LLE applets. The rasterizer cache gets out of sync
// when the applet is closed. To avoid breaking applications because of the issue,
// we are going to disable loading LLE applets before further fixes are done.
// auto process = NS::LaunchTitle(FS::MediaType::NAND, GetTitleIdForApplet(applet_id));
// if (process) {
// return RESULT_SUCCESS;
// }
// If we weren't able to load the native applet title, try to fallback to an HLE implementation.
auto applet = HLE::Applets::Applet::Get(applet_id);