summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ui/ncurses/nc-config.c1
-rw-r--r--ui/ncurses/nc-widgets.c8
2 files changed, 7 insertions, 2 deletions
diff --git a/ui/ncurses/nc-config.c b/ui/ncurses/nc-config.c
index 24aac2b..10d7eb6 100644
--- a/ui/ncurses/nc-config.c
+++ b/ui/ncurses/nc-config.c
@@ -411,6 +411,7 @@ static void config_screen_layout_widgets(struct config_screen *screen)
widget_move(wl, y, screen->label_x);
wf = widget_select_base(screen->widgets.autoboot_f);
+ widget_set_visible(wf, true);
widget_move(wf, y, screen->field_x);
y += widget_height(wf);
diff --git a/ui/ncurses/nc-widgets.c b/ui/ncurses/nc-widgets.c
index 50909ab..8f8816e 100644
--- a/ui/ncurses/nc-widgets.c
+++ b/ui/ncurses/nc-widgets.c
@@ -466,6 +466,7 @@ static void subset_delete_active(struct nc_widget_subset *subset, int idx)
struct nc_widget *widget;
size_t rem;
int i, val;
+ uint32_t opts;
/* Shift field focus to nearest active option or next visible field */
if (subset->n_active > 1) {
@@ -477,8 +478,11 @@ static void subset_delete_active(struct nc_widget_subset *subset, int idx)
} else {
for (i = 0; i < set->n_fields; i++)
if (field_visible(set->fields[i])) {
- set->cur_field = set->fields[i];
- break;
+ opts = field_opts(set->fields[i]);
+ if ((opts & O_ACTIVE) == O_ACTIVE) {
+ set->cur_field = set->fields[i];
+ break;
+ }
}
}
OpenPOWER on IntegriCloud