aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/kconfig/lxdialog/checklist.c
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/kconfig/lxdialog/checklist.c')
-rw-r--r--scripts/kconfig/lxdialog/checklist.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/scripts/kconfig/lxdialog/checklist.c b/scripts/kconfig/lxdialog/checklist.c
index 39becb72444a..cf697080dddd 100644
--- a/scripts/kconfig/lxdialog/checklist.c
+++ b/scripts/kconfig/lxdialog/checklist.c
@@ -125,6 +125,12 @@ int dialog_checklist(const char *title, const char *prompt, int height,
}
}
+do_resize:
+ if (getmaxy(stdscr) < (height + 6))
+ return -ERRDISPLAYTOOSMALL;
+ if (getmaxx(stdscr) < (width + 6))
+ return -ERRDISPLAYTOOSMALL;
+
max_choice = MIN(list_height, item_count());
/* center dialog box on screen */
@@ -303,6 +309,11 @@ int dialog_checklist(const char *title, const char *prompt, int height,
case KEY_ESC:
key = on_key_esc(dialog);
break;
+ case KEY_RESIZE:
+ delwin(list);
+ delwin(dialog);
+ on_key_resize();
+ goto do_resize;
}
/* Now, update everything... */