aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2023-01-23 14:35:57 +0000
committerMichael Brown <mcb30@ipxe.org>2023-01-23 20:30:59 +0000
commite72670ad7ba6f6d8058359c990375e36e71a1cc4 (patch)
tree5d1dab42e74130f25494166518a3b925870c9a40
parent68734b9a4dafa540e5333d7af3849b59a10f7a93 (diff)
downloadipxe-e72670ad7ba6f6d8058359c990375e36e71a1cc4.zip
ipxe-e72670ad7ba6f6d8058359c990375e36e71a1cc4.tar.gz
ipxe-e72670ad7ba6f6d8058359c990375e36e71a1cc4.tar.bz2
[pxe] Avoid drawing menu items on bottom row of screen
Many consoles will scroll immediately upon drawing a character in the rightmost column of the bottom row of the display, in order to be able to advance the cursor to the next character (even if the cursor is disabled). This causes PXE menus to display incorrectly. Specifically, pressing the down arrow key while already on the last menu item may cause the whole screen to scroll and the line to be duplicated. Fix by moving the PXE menu one row up from the bottom of the screen. Signed-off-by: Michael Brown <mcb30@ipxe.org>
-rw-r--r--src/usr/pxemenu.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/usr/pxemenu.c b/src/usr/pxemenu.c
index 5e497f9..34fdf37 100644
--- a/src/usr/pxemenu.c
+++ b/src/usr/pxemenu.c
@@ -204,7 +204,7 @@ static void pxe_menu_draw_item ( struct pxe_menu *menu,
buf[ sizeof ( buf ) - 1 ] = '\0';
/* Draw row */
- row = ( LINES - menu->num_items + index );
+ row = ( LINES - menu->num_items + index - 1 );
color_set ( ( selected ? CPAIR_PXE : CPAIR_DEFAULT ), NULL );
mvprintw ( row, 0, "%s", buf );
move ( row, 1 );