diff --git a/libctru/source/sdmc_dev.c b/libctru/source/sdmc_dev.c index d9604b0..2a6a833 100644 --- a/libctru/source/sdmc_dev.c +++ b/libctru/source/sdmc_dev.c @@ -180,6 +180,8 @@ Result sdmcExit(void) if(rc == 0) RemoveDevice("sdmc"); + sdmcInitialised = false; + return rc; } diff --git a/libctru/source/services/apt.c b/libctru/source/services/apt.c index d4bdd1c..1d9bc48 100644 --- a/libctru/source/services/apt.c +++ b/libctru/source/services/apt.c @@ -484,6 +484,8 @@ void aptExit() svcCloseHandle(aptStatusMutex); svcCloseHandle(aptLockHandle); svcCloseHandle(aptStatusEvent); + + aptInitialised = false; } bool aptMainLoop() diff --git a/libctru/source/services/fs.c b/libctru/source/services/fs.c index d7fe22e..2c610b3 100644 --- a/libctru/source/services/fs.c +++ b/libctru/source/services/fs.c @@ -63,6 +63,8 @@ Result fsExit(void) { if (!fsInitialised) return 0; + + fsInitialised = false; return svcCloseHandle(fsuHandle); } diff --git a/libctru/source/services/hid.c b/libctru/source/services/hid.c index 54657da..5d99369 100644 --- a/libctru/source/services/hid.c +++ b/libctru/source/services/hid.c @@ -52,6 +52,7 @@ Result hidInit(u32* sharedMem) } // Reset internal state. + hidInitialised = true; kOld = kHeld = kDown = kUp = 0; return ret; @@ -79,6 +80,8 @@ void hidExit() { irrstExit(); } + + hidInitialised = false; } void hidWaitForEvent(HID_Event id, bool nextEvent)