Handle image unmounts via DeinitSDCardFS()

This commit is contained in:
d0k3 2016-11-25 12:41:50 +01:00
parent 9a02499175
commit 8fff283a24
2 changed files with 2 additions and 6 deletions

View File

@ -69,6 +69,8 @@ void DeinitExtFS() {
} }
void DeinitSDCardFS() { void DeinitSDCardFS() {
if (GetMountState() != IMG_RAMDRV)
MountImage(NULL);
if (fs_mounted[0]) { if (fs_mounted[0]) {
f_mount(NULL, "0:", 1); f_mount(NULL, "0:", 1);
fs_mounted[0] = false; fs_mounted[0] = false;

View File

@ -546,7 +546,6 @@ u32 GodMode() {
if ((GetUnitPlatform() == PLATFORM_N3DS) && !CheckSlot0x05Crypto()) { if ((GetUnitPlatform() == PLATFORM_N3DS) && !CheckSlot0x05Crypto()) {
if (!ShowPrompt(true, "Warning: slot0x05 crypto fail!\nCould not set up slot0x05keyY.\nContinue?")) { if (!ShowPrompt(true, "Warning: slot0x05 crypto fail!\nCould not set up slot0x05keyY.\nContinue?")) {
DeinitExtFS(); DeinitExtFS();
MountImage(NULL);
DeinitSDCardFS(); DeinitSDCardFS();
return exit_mode; 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))) 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 clipboard->n_entries = 0; // remove SD clipboard entries
DeinitExtFS(); DeinitExtFS();
if (GetMountState() != IMG_RAMDRV)
MountImage(NULL);
DeinitSDCardFS(); DeinitSDCardFS();
memset(panedata, 0x00, N_PANES * sizeof(PaneData)); memset(panedata, 0x00, N_PANES * sizeof(PaneData));
ShowString("SD card unmounted, you can eject now.\n \n<R+Y+\x1B> for format menu\n<A> to remount SD card"); ShowString("SD card unmounted, you can eject now.\n \n<R+Y+\x1B> for format menu\n<A> 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))) 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 clipboard->n_entries = 0; // remove SD clipboard entries
DeinitExtFS(); DeinitExtFS();
if (GetMountState() != IMG_RAMDRV)
MountImage(NULL);
DeinitSDCardFS(); DeinitSDCardFS();
clipboard->n_entries = 0; clipboard->n_entries = 0;
memset(panedata, 0x00, N_PANES * sizeof(PaneData)); memset(panedata, 0x00, N_PANES * sizeof(PaneData));
@ -957,7 +952,6 @@ u32 GodMode() {
} }
DeinitExtFS(); DeinitExtFS();
MountImage(NULL);
DeinitSDCardFS(); DeinitSDCardFS();
return exit_mode; return exit_mode;