Index: menu.c =================================================================== RCS file: /cvsroot/grub/grub2/normal/menu.c,v retrieving revision 1.8 diff -u -p -r1.8 menu.c --- menu.c 18 Sep 2004 13:42:05 -0000 1.8 +++ menu.c 19 Dec 2004 21:27:40 -0000 @@ -51,7 +51,7 @@ #define TERM_SCROLL_WIDTH 1 /* The Y position of the top border. */ -#define TERM_TOP_BORDER_Y (TERM_MARGIN + TERM_HEIGHT + TERM_MARGIN) +#define TERM_TOP_BORDER_Y (TERM_MARGIN + TERM_INFO_HEIGHT + TERM_MARGIN) /* The X position of the left border. */ #define TERM_LEFT_BORDER_X TERM_MARGIN @@ -94,31 +94,28 @@ draw_border (void) grub_gotoxy (TERM_MARGIN, TERM_TOP_BORDER_Y); grub_putcode (DISP_UL); - for (i = 0; i < TERM_BORDER_WIDTH - 2; i++) + for (i = 0; i < TERM_BORDER_WIDTH; i++) grub_putcode (DISP_HLINE); grub_putcode (DISP_UR); - i = 1; - while (1) + for(i=0;i<(unsigned) TERM_NUM_ENTRIES;i++) { - grub_gotoxy (TERM_MARGIN, TERM_TOP_BORDER_Y + i); - - if (i > (unsigned) TERM_NUM_ENTRIES) - break; - + grub_gotoxy (TERM_MARGIN, TERM_TOP_BORDER_Y + i + 1); grub_putcode (DISP_VLINE); - grub_gotoxy (TERM_MARGIN + TERM_BORDER_WIDTH - 1, TERM_TOP_BORDER_Y + i); + grub_gotoxy (TERM_MARGIN + TERM_BORDER_WIDTH + 1, TERM_TOP_BORDER_Y + i + 1); grub_putcode (DISP_VLINE); - i++; } + grub_gotoxy (TERM_MARGIN, TERM_TOP_BORDER_Y + TERM_NUM_ENTRIES + 1); grub_putcode (DISP_LL); - for (i = 0; i < TERM_BORDER_WIDTH - 2; i++) + for (i = 0; i < TERM_BORDER_WIDTH; i++) grub_putcode (DISP_HLINE); grub_putcode (DISP_LR); grub_setcolorstate (GRUB_TERM_COLOR_STANDARD); + + grub_gotoxy (TERM_MARGIN, TERM_TOP_BORDER_Y + TERM_NUM_ENTRIES + TERM_MARGIN +1 ); } static void @@ -172,7 +169,7 @@ print_entry (int y, int highlight, grub_ grub_gotoxy (TERM_LEFT_BORDER_X + TERM_MARGIN, y); grub_putchar (' '); for (x = TERM_LEFT_BORDER_X + TERM_MARGIN + 1; - x < TERM_LEFT_BORDER_X + TERM_BORDER_WIDTH - 1; + x < TERM_LEFT_BORDER_X + TERM_BORDER_WIDTH + 1; x++) { if (*title && x <= TERM_LEFT_BORDER_X + TERM_ENTRY_WIDTH + 1) @@ -202,7 +199,7 @@ print_entries (grub_menu_t menu, int fir if (first) grub_putcode (DISP_UP); else - grub_putchar (' '); + grub_putcode (DISP_VLINE); e = get_entry (menu, first); @@ -219,7 +216,7 @@ print_entries (grub_menu_t menu, int fir if (e) grub_putcode (DISP_DOWN); else - grub_putchar (' '); + grub_putcode (DISP_VLINE); grub_gotoxy (TERM_CURSOR_X, TERM_FIRST_ENTRY_Y + offset); }