From d01d42a3a94ebad1e1657775827e8ac5bc8fae34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Andr=C3=A9=20Santoni?= Date: Sun, 26 Oct 2014 22:39:26 +0100 Subject: [PATCH] (RGUI) Fix two keyboard navigation bugs --- frontend/menu/disp/rgui.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/frontend/menu/disp/rgui.c b/frontend/menu/disp/rgui.c index 7125fc14fb..eeec75b115 100644 --- a/frontend/menu/disp/rgui.c +++ b/frontend/menu/disp/rgui.c @@ -516,11 +516,16 @@ static void rgui_navigation_set(void *data, bool scroll) if (!scroll) return; - if (driver.menu->selection_ptr >= 8 - && driver.menu->selection_ptr < menu_list_get_size(driver.menu->menu_list) - RGUI_TERM_HEIGHT/2) - driver.menu->begin = driver.menu->selection_ptr - RGUI_TERM_HEIGHT/2; - if (driver.menu->selection_ptr == menu_list_get_size(driver.menu->menu_list) - 1) - driver.menu->begin = menu_list_get_size(driver.menu->menu_list) - RGUI_TERM_HEIGHT; + if (driver.menu->selection_ptr < RGUI_TERM_HEIGHT/2) + driver.menu->begin = 0; + else if (driver.menu->selection_ptr >= RGUI_TERM_HEIGHT/2 + && driver.menu->selection_ptr < + menu_list_get_size(driver.menu->menu_list) - RGUI_TERM_HEIGHT/2) + driver.menu->begin = driver.menu->selection_ptr - RGUI_TERM_HEIGHT/2; + else if (driver.menu->selection_ptr >= + menu_list_get_size(driver.menu->menu_list) - RGUI_TERM_HEIGHT/2) + driver.menu->begin = menu_list_get_size(driver.menu->menu_list) + - RGUI_TERM_HEIGHT; } menu_ctx_driver_t menu_ctx_rgui = {