From: yellows8 Date: Wed, 21 May 2014 03:27:50 +0000 (-0400) Subject: Fixed issues involving application termination. This fixed the applet launch hang... X-Git-Tag: v0.2.0~150^2~5 X-Git-Url: https://chaos.moe/g/?a=commitdiff_plain;h=07bd9aa357f9a002f17c224e34a8f771944823d3;p=corbenik%2Fctrulib.git Fixed issues involving application termination. This fixed the applet launch hang after launching a ctrulib app, and fixed the issue where the power/HOME buttons did not work correctly under the power-off screen. --- diff --git a/libctru/source/APT.c b/libctru/source/APT.c index e9ccdfd..0aafd34 100644 --- a/libctru/source/APT.c +++ b/libctru/source/APT.c @@ -200,10 +200,6 @@ void aptEventHandler(u32 arg) aptSetStatus(APP_RUNNING); break; case 0xC: //exiting application - aptOpenSession(); - APT_ReplySleepQuery(NULL, currentAppId, 0x0); - aptCloseSession(); - runThread=false; aptSetStatus(APP_EXITING); //app exit signal break; @@ -251,23 +247,37 @@ void aptExit() u8 buf1[4], buf2[4]; buf1[0]=0x02; buf1[1]=0x00; buf1[2]=0x00; buf1[3]=0x00; + + buf1[0]=0x10; aptOpenSession(); APT_AppletUtility(NULL, NULL, 0x7, 0x4, buf1, 0x1, buf2); aptCloseSession(); + + buf1[0]=0x00; aptOpenSession(); APT_AppletUtility(NULL, NULL, 0x4, 0x1, buf1, 0x1, buf2); aptCloseSession(); + buf1[0]=0x01; aptOpenSession(); APT_AppletUtility(NULL, NULL, 0x7, 0x4, buf1, 0x1, buf2); aptCloseSession(); + + buf1[0]=0x00; aptOpenSession(); APT_AppletUtility(NULL, NULL, 0x4, 0x1, buf1, 0x1, buf2); aptCloseSession(); + aptOpenSession(); APT_AppletUtility(NULL, NULL, 0x4, 0x1, buf1, 0x1, buf2); aptCloseSession(); + if(aptGetStatusPower()==1)//This is only executed when application-termination was triggered via the home-menu power-off screen. + { + aptOpenSession(); + APT_ReplySleepQuery(NULL, currentAppId, 0x0); + aptCloseSession(); + } aptOpenSession(); APT_PrepareToCloseApplication(NULL, 0x1);