From ba4c80d76df9bb43181df5875b49e1d6b7b93cd7 Mon Sep 17 00:00:00 2001 From: yellows8 Date: Mon, 22 Oct 2018 22:13:33 -0400 Subject: [PATCH] Fixed exiting with + button when netloader is active. --- common/netloader.c | 2 ++ nx_main/main.c | 19 ++++++++++--------- pc_main/main.cpp | 5 +++-- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/common/netloader.c b/common/netloader.c index 0b42e96..5f2de8f 100644 --- a/common/netloader.c +++ b/common/netloader.c @@ -602,6 +602,8 @@ static bool netloaderGetExit(void) { } void netloaderSignalExit(void) { + if (!netloader_initialized) return; + mtx_lock(&netloader_mtx); netloader_exitflag = 1; mtx_unlock(&netloader_mtx); diff --git a/nx_main/main.c b/nx_main/main.c index f7cf9b4..90260c3 100644 --- a/nx_main/main.c +++ b/nx_main/main.c @@ -64,8 +64,13 @@ int main(int argc, char **argv) if (R_SUCCEEDED(rc)) powerInit(); - if (R_SUCCEEDED(rc) && !workerInit()) { + if (R_SUCCEEDED(rc) && !netloaderInit()) { rc = 1; + snprintf(errormsg, sizeof(errormsg)-1, "Error: netloaderInit() failed."); + } + + if (R_SUCCEEDED(rc) && !workerInit()) { + rc = 2; snprintf(errormsg, sizeof(errormsg)-1, "Error: workerInit() failed."); } @@ -73,19 +78,14 @@ int main(int argc, char **argv) if (R_SUCCEEDED(rc)) { if (!launchInit()) { - rc = 2; + rc = 3; snprintf(errormsg, sizeof(errormsg)-1, "Error: launchInit() failed."); } } if (R_SUCCEEDED(rc) && !fontInitialize()) { - rc = 3; - snprintf(errormsg, sizeof(errormsg)-1, "Error: fontInitialize() failed."); - } - - if (R_SUCCEEDED(rc) && !netloaderInit()) { rc = 4; - snprintf(errormsg, sizeof(errormsg)-1, "Error: netloaderInit() failed."); + snprintf(errormsg, sizeof(errormsg)-1, "Error: fontInitialize() failed."); } #ifdef ENABLE_AUDIO @@ -169,10 +169,11 @@ int main(int argc, char **argv) audio_exit(); #endif - netloaderExit(); fontExit(); launchExit(); + netloaderSignalExit(); workerExit(); + netloaderExit(); powerExit(); plExit(); setsysExit(); diff --git a/pc_main/main.cpp b/pc_main/main.cpp index a30cc9d..0f4d03b 100644 --- a/pc_main/main.cpp +++ b/pc_main/main.cpp @@ -19,9 +19,9 @@ int main() themeStartup(THEME_PRESET_LIGHT); textInit(); fontInitialize(); + netloaderInit(); workerInit(); menuStartup(); - netloaderInit(); while (window.isOpen()) { @@ -54,8 +54,9 @@ int main() window.display(); } - netloaderExit(); + netloaderSignalExit(); workerExit(); + netloaderExit(); fontExit(); return 0;