7
7
#include "virtual.h"
8
8
#include "image.h"
9
9
10
- #define VERSION "0.7.2 "
10
+ #define VERSION "0.7.3 "
11
11
12
12
#define N_PANES 2
13
- #define IMG_DRV "789I"
14
13
15
14
#define WORK_BUFFER ((u8*)0x21100000)
16
15
@@ -690,6 +689,8 @@ u32 GodMode() {
690
689
clipboard -> n_entries = 0 ;
691
690
}
692
691
} else if ((int ) user_select == mountable ) { // -> mount as image
692
+ if (clipboard -> n_entries && (DriveType (clipboard -> entry [0 ].path ) & DRV_IMAGE ))
693
+ clipboard -> n_entries = 0 ; // remove last mounted image clipboard entries
693
694
DeinitExtFS ();
694
695
u32 mount_state = MountImage (curr_entry -> path );
695
696
InitExtFS ();
@@ -703,8 +704,6 @@ u32 GodMode() {
703
704
GetDirContents (current_dir , current_path );
704
705
cursor = 0 ;
705
706
}
706
- if (clipboard -> n_entries && (strcspn (clipboard -> entry [0 ].path , IMG_DRV ) == 0 ))
707
- clipboard -> n_entries = 0 ; // remove invalid clipboard stuff
708
707
} else if ((int ) user_select == searchdrv ) { // -> search drive, open containing path
709
708
char * last_slash = strrchr (curr_entry -> path , '/' );
710
709
if (last_slash ) {
@@ -735,11 +734,12 @@ u32 GodMode() {
735
734
}
736
735
}
737
736
} else if (switched && (pad_state & BUTTON_B )) { // unmount SD card
737
+ if (clipboard -> n_entries && (DriveType (clipboard -> entry [0 ].path ) & (DRV_SDCARD |DRV_ALIAS |DRV_EMUNAND |DRV_IMAGE )))
738
+ clipboard -> n_entries = 0 ; // remove SD clipboard entries
738
739
DeinitExtFS ();
739
740
if (GetMountState () != IMG_RAMDRV )
740
741
MountImage (NULL );
741
742
DeinitSDCardFS ();
742
- clipboard -> n_entries = 0 ;
743
743
memset (panedata , 0x00 , N_PANES * sizeof (PaneData ));
744
744
ShowString ("SD card unmounted, you can eject now.\n \n<R+Y+\x1B> for format menu\n<A> to remount SD card" );
745
745
while (true) {
@@ -798,13 +798,13 @@ u32 GodMode() {
798
798
// highly specific commands
799
799
if (!* current_path ) { // in the root folder...
800
800
if (switched && (pad_state & BUTTON_X )) { // unmount image
801
+ if (clipboard -> n_entries && (DriveType (clipboard -> entry [0 ].path ) & DRV_IMAGE ))
802
+ clipboard -> n_entries = 0 ; // remove last mounted image clipboard entries
801
803
DeinitExtFS ();
802
804
if (!GetMountState ()) MountRamDrive ();
803
805
else MountImage (NULL );
804
806
InitExtFS ();
805
807
GetDirContents (current_dir , current_path );
806
- if (clipboard -> n_entries && (strcspn (clipboard -> entry [0 ].path , IMG_DRV ) == 0 ))
807
- clipboard -> n_entries = 0 ; // remove invalid clipboard stuff
808
808
} else if (switched && (pad_state & BUTTON_Y )) {
809
809
SetWritePermissions ((GetWritePermissions () > PERM_BASE ) ? PERM_BASE : PERM_ALL , false);
810
810
}
@@ -937,6 +937,8 @@ u32 GodMode() {
937
937
exit_mode = GODMODE_EXIT_REBOOT ;
938
938
break ;
939
939
} else if (user_select == 3 ) {
940
+ if (clipboard -> n_entries && (DriveType (clipboard -> entry [0 ].path ) & (DRV_SDCARD |DRV_ALIAS |DRV_EMUNAND |DRV_IMAGE )))
941
+ clipboard -> n_entries = 0 ; // remove SD clipboard entries
940
942
DeinitExtFS ();
941
943
if (GetMountState () != IMG_RAMDRV )
942
944
MountImage (NULL );
0 commit comments