From 7cb74b74d7c0e9dbc937b90d10600a1f07147c64 Mon Sep 17 00:00:00 2001 From: Nanquitas Date: Thu, 18 Jan 2018 23:39:47 +0100 Subject: [PATCH] Rosalina: fix freeze when attempting to open Rosalina before the system finished to boot --- sysmodules/rosalina/source/menu.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/sysmodules/rosalina/source/menu.c b/sysmodules/rosalina/source/menu.c index d60af63..af719ec 100644 --- a/sysmodules/rosalina/source/menu.c +++ b/sysmodules/rosalina/source/menu.c @@ -148,14 +148,23 @@ void menuThreadMain(void) else N3DSMenu_UpdateStatus(); + bool isAcURegistered = false; + while(!terminationRequest) { if((HID_PAD & menuCombo) == menuCombo) { - menuEnter(); - if(isN3DS) N3DSMenu_UpdateStatus(); - menuShow(&rosalinaMenu); - menuLeave(); + if (!isAcURegistered) + isAcURegistered = R_SUCCEEDED(srvIsServiceRegistered(&isAcURegistered, "ac:u")) + && isAcURegistered; + + if (isAcURegistered) + { + menuEnter(); + if(isN3DS) N3DSMenu_UpdateStatus(); + menuShow(&rosalinaMenu); + menuLeave(); + } } svcSleepThread(50 * 1000 * 1000LL); }