Message ID | 1368780523-19382-2-git-send-email-dirk@gouders.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Dirk, All, On 2013-05-17 10:48 +0200, Dirk Gouders spake thusly: > When entering an empty dialog, using the movement keys resulted in > unexpected characters beeing displayed, other keys like "z" and "h" did > not work as expected. > > This patch handles the movement keys as well as other keys, > especially "z", "h" and "/". Yes, thank you! > Signed-off-by: Dirk Gouders <dirk@gouders.net> > --- > scripts/kconfig/lxdialog/menubox.c | 8 ++++---- > scripts/kconfig/mconf.c | 11 ++++++----- > 2 files changed, 10 insertions(+), 9 deletions(-) > > diff --git a/scripts/kconfig/lxdialog/menubox.c b/scripts/kconfig/lxdialog/menubox.c > index 48d382e..f5aff9c 100644 > --- a/scripts/kconfig/lxdialog/menubox.c > +++ b/scripts/kconfig/lxdialog/menubox.c > @@ -303,10 +303,10 @@ do_resize: > } > } > > - if (i < max_choice || > - key == KEY_UP || key == KEY_DOWN || > - key == '-' || key == '+' || > - key == KEY_PPAGE || key == KEY_NPAGE) { > + if ((i < max_choice || > + key == KEY_UP || key == KEY_DOWN || > + key == '-' || key == '+' || > + key == KEY_PPAGE || key == KEY_NPAGE) && item_count()) { item_count() returns a number, not true/false, so you have to use it thus: item_count() != 0 > /* Remove highligt of current item */ > print_item(scroll + choice, choice, FALSE); > > diff --git a/scripts/kconfig/mconf.c b/scripts/kconfig/mconf.c > index 387dc8d..ccb71ae 100644 > --- a/scripts/kconfig/mconf.c > +++ b/scripts/kconfig/mconf.c > @@ -670,11 +670,12 @@ static void conf(struct menu *menu, struct menu *active_menu) > active_menu, &s_scroll); > if (res == 1 || res == KEY_ESC || res == -ERRDISPLAYTOOSMALL) > break; > - if (!item_activate_selected()) > - continue; > - if (!item_tag()) > - continue; > - > + if (item_count()) { Ditto. Regards, Yann E. MORIN.
diff --git a/scripts/kconfig/lxdialog/menubox.c b/scripts/kconfig/lxdialog/menubox.c index 48d382e..f5aff9c 100644 --- a/scripts/kconfig/lxdialog/menubox.c +++ b/scripts/kconfig/lxdialog/menubox.c @@ -303,10 +303,10 @@ do_resize: } } - if (i < max_choice || - key == KEY_UP || key == KEY_DOWN || - key == '-' || key == '+' || - key == KEY_PPAGE || key == KEY_NPAGE) { + if ((i < max_choice || + key == KEY_UP || key == KEY_DOWN || + key == '-' || key == '+' || + key == KEY_PPAGE || key == KEY_NPAGE) && item_count()) { /* Remove highligt of current item */ print_item(scroll + choice, choice, FALSE); diff --git a/scripts/kconfig/mconf.c b/scripts/kconfig/mconf.c index 387dc8d..ccb71ae 100644 --- a/scripts/kconfig/mconf.c +++ b/scripts/kconfig/mconf.c @@ -670,11 +670,12 @@ static void conf(struct menu *menu, struct menu *active_menu) active_menu, &s_scroll); if (res == 1 || res == KEY_ESC || res == -ERRDISPLAYTOOSMALL) break; - if (!item_activate_selected()) - continue; - if (!item_tag()) - continue; - + if (item_count()) { + if (!item_activate_selected()) + continue; + if (!item_tag()) + continue; + } submenu = item_data(); active_menu = item_data(); if (submenu)
When entering an empty dialog, using the movement keys resulted in unexpected characters beeing displayed, other keys like "z" and "h" did not work as expected. This patch handles the movement keys as well as other keys, especially "z", "h" and "/". Signed-off-by: Dirk Gouders <dirk@gouders.net> --- scripts/kconfig/lxdialog/menubox.c | 8 ++++---- scripts/kconfig/mconf.c | 11 ++++++----- 2 files changed, 10 insertions(+), 9 deletions(-)