From 8fff283a24a10bbb0d7063ece30ecfc9a26c0178 Mon Sep 17 00:00:00 2001 From: d0k3 Date: Fri, 25 Nov 2016 12:41:50 +0100 Subject: [PATCH] Handle image unmounts via DeinitSDCardFS() --- source/fs.c | 2 ++ source/godmode.c | 6 ------ 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/source/fs.c b/source/fs.c index f1261a1..06293c6 100644 --- a/source/fs.c +++ b/source/fs.c @@ -69,6 +69,8 @@ void DeinitExtFS() { } void DeinitSDCardFS() { + if (GetMountState() != IMG_RAMDRV) + MountImage(NULL); if (fs_mounted[0]) { f_mount(NULL, "0:", 1); fs_mounted[0] = false; diff --git a/source/godmode.c b/source/godmode.c index 43954fb..a342406 100644 --- a/source/godmode.c +++ b/source/godmode.c @@ -546,7 +546,6 @@ u32 GodMode() { if ((GetUnitPlatform() == PLATFORM_N3DS) && !CheckSlot0x05Crypto()) { if (!ShowPrompt(true, "Warning: slot0x05 crypto fail!\nCould not set up slot0x05keyY.\nContinue?")) { DeinitExtFS(); - MountImage(NULL); DeinitSDCardFS(); return exit_mode; } @@ -733,8 +732,6 @@ u32 GodMode() { if (clipboard->n_entries && (DriveType(clipboard->entry[0].path) & (DRV_SDCARD|DRV_ALIAS|DRV_EMUNAND|DRV_IMAGE))) clipboard->n_entries = 0; // remove SD clipboard entries DeinitExtFS(); - if (GetMountState() != IMG_RAMDRV) - MountImage(NULL); DeinitSDCardFS(); memset(panedata, 0x00, N_PANES * sizeof(PaneData)); ShowString("SD card unmounted, you can eject now.\n \n for format menu\n to remount SD card"); @@ -936,8 +933,6 @@ u32 GodMode() { if (clipboard->n_entries && (DriveType(clipboard->entry[0].path) & (DRV_SDCARD|DRV_ALIAS|DRV_EMUNAND|DRV_IMAGE))) clipboard->n_entries = 0; // remove SD clipboard entries DeinitExtFS(); - if (GetMountState() != IMG_RAMDRV) - MountImage(NULL); DeinitSDCardFS(); clipboard->n_entries = 0; memset(panedata, 0x00, N_PANES * sizeof(PaneData)); @@ -957,7 +952,6 @@ u32 GodMode() { } DeinitExtFS(); - MountImage(NULL); DeinitSDCardFS(); return exit_mode;