diff --git a/common/menu.c b/common/menu.c index 5bdb82a..e9db23b 100644 --- a/common/menu.c +++ b/common/menu.c @@ -81,7 +81,7 @@ void launchMenuNetloaderTask() { workerSchedule(netloaderTask, NULL); } -void launchMenuBackTask() { +int launchMenuBackTask() { if(hbmenu_state == HBMENU_NETLOADER_ACTIVE) { netloaderSignalExit(); } @@ -90,9 +90,9 @@ void launchMenuBackTask() { menuScan(rootPath); } else { - menuScan(".."); + return menuScan(".."); } - + return false; } void menuHandleAButton(void) { diff --git a/common/menu.h b/common/menu.h index e7ae396..fb9b30b 100644 --- a/common/menu.h +++ b/common/menu.h @@ -109,7 +109,7 @@ int menuFileassocScan(const char* target); void launchMenuEntryTask(menuEntry_s* arg); void toggleStarState(menuEntry_s* arg); void launchApplyThemeTask(menuEntry_s* arg); -void launchMenuBackTask(); +int launchMenuBackTask(); void launchMenuNetloaderTask(); char *menuGetRootPath(void); char *menuGetRootBasePath(void); diff --git a/nx_main/main.c b/nx_main/main.c index b3a176e..68f7ca1 100644 --- a/nx_main/main.c +++ b/nx_main/main.c @@ -225,13 +225,17 @@ bool menuUpdate(void) { } else if (down & HidNpadButton_B) { - launchMenuBackTask(); + if (launchMenuBackTask()) { + __nx_applet_exit_mode = 1; + exitflag = 1; + } } else if(down & HidNpadButton_Minus){ themeMenuStartup(); } else if (down & HidNpadButton_Plus) { + __nx_applet_exit_mode = 1; exitflag = 1; } else if (menu->nEntries > 0)