subj
--
With best regards,
_______________________________
Vladimir Testov, ROSA Laboratory.
www.rosalab.ru
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);
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel