]> git.ozlabs.org Git - petitboot/blobdiff - ui/ncurses/nc-subset.c
ui/ncurses: in lockdown ensure system reboot in ncurses menu exit
[petitboot] / ui / ncurses / nc-subset.c
index f38e3949b5561ea3105c8df869af9fe78b03a901..9ca3e8aacc8ddb777d990cca7ad6d51fce8720e5 100644 (file)
@@ -62,6 +62,12 @@ struct nc_scr *subset_screen_return_scr(struct subset_screen *screen)
        return screen->return_scr;
 }
 
+void subset_screen_update(struct subset_screen *screen)
+{
+       pb_debug("Exiting subset due to update\n");
+       return screen->on_exit(screen->cui);
+}
+
 static struct subset_screen *subset_screen_from_scr(struct nc_scr *scr)
 {
        struct subset_screen *subset_screen;
@@ -216,8 +222,11 @@ static void subset_screen_draw(struct subset_screen *screen)
        bool repost = false;
        int height;
 
-       /* Size of pad = top space + number of available options */
-       height = 1 + N_FIELDS + widget_subset_n_inactive(screen->options);
+       /*
+        * Size of pad = top space + 2 * number of available options in case
+        * device names wrap
+        */
+       height = 1 + N_FIELDS + widget_subset_n_inactive(screen->options) * 2;
 
        if (!screen->pad || getmaxy(screen->pad) < height) {
                if (screen->pad)