diff -Naur grub-newA/grub-core/gfxmenu/gui_list.c grub-newB/grub-core/gfxmenu/gui_list.c --- grub-newA/grub-core/gfxmenu/gui_list.c 2013-04-10 12:51:47.579232188 +0400 +++ grub-newB/grub-core/gfxmenu/gui_list.c 2013-04-10 13:00:31.139354643 +0400 @@ -268,14 +268,18 @@ grub_gfxmenu_box_t itbox = self->item_box; int sel_toppad = selbox->get_top_pad (selbox); int it_toppad = itbox->get_top_pad (itbox); - int item_top = sel_toppad; - if ((self->list_version > 0) && (it_toppad > item_top)) - item_top = it_toppad; + int item_top; + if (self->list_version == 0) + item_top = sel_toppad; + else + item_top = grub_max (sel_toppad, it_toppad); int sel_leftpad = selbox->get_left_pad (selbox); int it_leftpad = itbox->get_left_pad (itbox); - int total_leftpad = sel_leftpad; - if ((self->list_version > 0) && (it_leftpad > total_leftpad)) - total_leftpad = it_leftpad; + int total_leftpad; + if (self->list_version == 0) + total_leftpad = sel_leftpad; + else + total_leftpad = grub_max (sel_leftpad, it_leftpad); int menu_index; int visible_index; struct grub_video_rect oviewport; @@ -298,15 +302,10 @@ } if (selbox->get_border_width) cwidth -= selbox->get_border_width (selbox); - if (self->list_version > 0) - { - if (itbox->get_border_width) - it_cwidth -= itbox->get_border_width (itbox); - } + if (self->list_version > 0 && itbox->get_border_width) + it_cwidth -= itbox->get_border_width (itbox); if (self->list_version == 0) - { - selbox->set_content_size (selbox, cwidth, item_height - 1); - } + selbox->set_content_size (selbox, cwidth, item_height - 1); else { selbox->set_content_size (selbox, cwidth, item_height); @@ -318,9 +317,11 @@ int selected_top_offset; int top_offset; - int total_width = cwidth; - if ((self->list_version > 0) && (it_cwidth < total_width)) - total_width = it_cwidth; + int total_width; + if (self->list_version == 0) + total_width = cwidth; + else + total_width = grub_min (cwidth, it_cwidth); grub_video_rect_t svpsave, sviewport; sviewport.x = string_left_offset; @@ -385,13 +386,11 @@ grub_menu_get_entry (self->view->menu, menu_index)->title; sviewport.y = item_top; if (self->list_version == 0) - { - grub_font_draw_string (item_title, - font, - color, - string_left_offset, - (item_top + string_top_offset)); - } + grub_font_draw_string (item_title, + font, + color, + string_left_offset, + (item_top + string_top_offset)); else { grub_gui_set_viewport (&sviewport, &svpsave);