Partially fix switching between modi, does not work for script mode.

Issue: #1286
This commit is contained in:
Dave Davenport 2021-04-10 23:04:05 +02:00
parent 8ac9890e8b
commit a3f12837cb
6 changed files with 17 additions and 2 deletions

View File

@ -1058,6 +1058,8 @@ static ModeMode drun_mode_result ( Mode *sw, int mretv, char **input, unsigned i
rmpd->cmd_list_length--; rmpd->cmd_list_length--;
} }
retv = RELOAD_DIALOG; retv = RELOAD_DIALOG;
} else if ( mretv & MENU_CUSTOM_COMMAND ) {
retv = ( mretv & MENU_LOWER_MASK );
} }
return retv; return retv;
} }

View File

@ -238,8 +238,9 @@ static ModeMode file_browser_mode_result ( Mode *sw, int mretv, char **input, un
} }
else if ( mretv & MENU_QUICK_SWITCH ) { else if ( mretv & MENU_QUICK_SWITCH ) {
retv = ( mretv & MENU_LOWER_MASK ); retv = ( mretv & MENU_LOWER_MASK );
} } else if ( mretv & MENU_CUSTOM_COMMAND ) {
else if ( ( mretv & MENU_OK ) ) { retv = ( mretv & MENU_LOWER_MASK );
} else if ( ( mretv & MENU_OK ) ) {
if ( selected_line < pd->array_length ) { if ( selected_line < pd->array_length ) {
if ( pd->array[selected_line].type == UP ) { if ( pd->array[selected_line].type == UP ) {
GFile *new = g_file_get_parent ( pd->current_dir ); GFile *new = g_file_get_parent ( pd->current_dir );

View File

@ -71,6 +71,11 @@ static ModeMode help_keys_mode_result ( G_GNUC_UNUSED Mode *sw,
G_GNUC_UNUSED char **input, G_GNUC_UNUSED char **input,
G_GNUC_UNUSED unsigned int selected_line ) G_GNUC_UNUSED unsigned int selected_line )
{ {
if ( mretv & MENU_CUSTOM_COMMAND ) {
int retv = ( mretv & MENU_LOWER_MASK );
return retv;
}
return MODE_EXIT; return MODE_EXIT;
} }
static void help_keys_mode_destroy ( Mode *sw ) static void help_keys_mode_destroy ( Mode *sw )

View File

@ -391,6 +391,9 @@ static ModeMode run_mode_result ( Mode *sw, int mretv, char **input, unsigned in
retv = RELOAD_DIALOG; retv = RELOAD_DIALOG;
run_mode_destroy ( sw ); run_mode_destroy ( sw );
run_mode_init ( sw ); run_mode_init ( sw );
} else if ( mretv & MENU_CUSTOM_COMMAND ) {
retv = ( mretv & MENU_LOWER_MASK );
} }
return retv; return retv;
} }

View File

@ -606,6 +606,8 @@ static ModeMode ssh_mode_result ( Mode *sw, int mretv, char **input, unsigned in
retv = RELOAD_DIALOG; retv = RELOAD_DIALOG;
ssh_mode_destroy ( sw ); ssh_mode_destroy ( sw );
ssh_mode_init ( sw ); ssh_mode_init ( sw );
} else if ( mretv & MENU_CUSTOM_COMMAND ) {
retv = ( mretv & MENU_LOWER_MASK );
} }
return retv; return retv;
} }

View File

@ -715,6 +715,8 @@ static ModeMode window_mode_result ( Mode *sw, int mretv, G_GNUC_UNUSED char **i
retv = RELOAD_DIALOG; retv = RELOAD_DIALOG;
} }
g_free ( lf_cmd ); g_free ( lf_cmd );
} else if ( mretv & MENU_CUSTOM_COMMAND ) {
retv = ( mretv & MENU_LOWER_MASK );
} }
return retv; return retv;
} }