diff options
Diffstat (limited to 'libmenu/menu_filesel.c')
-rw-r--r-- | libmenu/menu_filesel.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/libmenu/menu_filesel.c b/libmenu/menu_filesel.c index 7d40047cc9..9148dc2c8d 100644 --- a/libmenu/menu_filesel.c +++ b/libmenu/menu_filesel.c @@ -206,6 +206,9 @@ bailout: static void read_cmd(menu_t* menu,int cmd) { mp_cmd_t* c = NULL; switch(cmd) { + case MENU_CMD_LEFT: + mpriv->p.current = mpriv->p.menu; // Hack : we consider that the first entry is ../ + case MENU_CMD_RIGHT: case MENU_CMD_OK: { // Directory if(mpriv->p.current->d) { @@ -261,10 +264,9 @@ static void read_cmd(menu_t* menu,int cmd) { } static void read_key(menu_t* menu,int c){ - if(c == KEY_BS) { - mpriv->p.current = mpriv->p.menu; // Hack : we consider that the first entry is ../ - read_cmd(menu,MENU_CMD_OK); - } else + if(c == KEY_BS) + read_cmd(menu,MENU_CMD_LEFT); + else menu_list_read_key(menu,c,1); } |