Message ID | 20240216141016.11425-1-dev.mbstr@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | kconfig: lxdialog: fixed cursor render in checklist | expand |
On Fri, Feb 16, 2024 at 11:10 PM Matthew Bystrin <dev.mbstr@gmail.com> wrote: > > When a checklist is opened, the cursor is rendered in a wrong position > (after the last list element on the screen). You can observe it by > opening any checklist in menuconfig. > > Added wmove() to set the cursor in the proper position, just like in > menubox.c. Removed wnoutrefresh(dialog) because dialog window has > already been updated in print_buttons(). Replaced wnoutrefresh(list) and > doupdate() calls with one wrefresh(list) call. > > Signed-off-by: Matthew Bystrin <dev.mbstr@gmail.com> Applied to linux-kbuild. Thanks. > --- > scripts/kconfig/lxdialog/checklist.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/scripts/kconfig/lxdialog/checklist.c b/scripts/kconfig/lxdialog/checklist.c > index fd161cfff121..31d0a89fbeb7 100644 > --- a/scripts/kconfig/lxdialog/checklist.c > +++ b/scripts/kconfig/lxdialog/checklist.c > @@ -188,9 +188,8 @@ int dialog_checklist(const char *title, const char *prompt, int height, > > print_buttons(dialog, height, width, 0); > > - wnoutrefresh(dialog); > - wnoutrefresh(list); > - doupdate(); > + wmove(list, choice, check_x + 1); > + wrefresh(list); > > while (key != KEY_ESC) { > key = wgetch(dialog); > -- > 2.43.0 >
diff --git a/scripts/kconfig/lxdialog/checklist.c b/scripts/kconfig/lxdialog/checklist.c index fd161cfff121..31d0a89fbeb7 100644 --- a/scripts/kconfig/lxdialog/checklist.c +++ b/scripts/kconfig/lxdialog/checklist.c @@ -188,9 +188,8 @@ int dialog_checklist(const char *title, const char *prompt, int height, print_buttons(dialog, height, width, 0); - wnoutrefresh(dialog); - wnoutrefresh(list); - doupdate(); + wmove(list, choice, check_x + 1); + wrefresh(list); while (key != KEY_ESC) { key = wgetch(dialog);
When a checklist is opened, the cursor is rendered in a wrong position (after the last list element on the screen). You can observe it by opening any checklist in menuconfig. Added wmove() to set the cursor in the proper position, just like in menubox.c. Removed wnoutrefresh(dialog) because dialog window has already been updated in print_buttons(). Replaced wnoutrefresh(list) and doupdate() calls with one wrefresh(list) call. Signed-off-by: Matthew Bystrin <dev.mbstr@gmail.com> --- scripts/kconfig/lxdialog/checklist.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)