diff options
Diffstat (limited to 'source/mode.c')
-rw-r--r-- | source/mode.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/source/mode.c b/source/mode.c index 987f2823..6b7b2f48 100644 --- a/source/mode.c +++ b/source/mode.c @@ -96,9 +96,20 @@ char * mode_get_completion ( const Mode *mode, unsigned int selected_line ) ModeMode mode_result ( Mode *mode, int menu_retv, char **input, unsigned int selected_line ) { + if ( menu_retv & MENU_NEXT ) { + return NEXT_DIALOG; + } + else if ( menu_retv & MENU_PREVIOUS ) { + return PREVIOUS_DIALOG; + } + else if ( menu_retv & MENU_QUICK_SWITCH ) { + return ( menu_retv & MENU_LOWER_MASK ); + } + g_assert ( mode != NULL ); g_assert ( mode->_result != NULL ); g_assert ( input != NULL ); + return mode->_result ( mode, menu_retv, input, selected_line ); } |