diff -Naur grub-2.00/grub-core/gfxmenu/gui_box.c grub-patch/grub-core/gfxmenu/gui_box.c --- grub-2.00/grub-core/gfxmenu/gui_box.c 2010-12-01 17:45:43.000000000 +0300 +++ grub-patch/grub-core/gfxmenu/gui_box.c 2013-03-04 14:17:51.423471466 +0400 @@ -300,6 +300,10 @@ else self->id = 0; } + else + { + return GRUB_ERR_IO; + } return grub_errno; } diff -Naur grub-2.00/grub-core/gfxmenu/gui_canvas.c grub-patch/grub-core/gfxmenu/gui_canvas.c --- grub-2.00/grub-core/gfxmenu/gui_canvas.c 2010-12-01 17:45:43.000000000 +0300 +++ grub-patch/grub-core/gfxmenu/gui_canvas.c 2013-03-04 14:16:32.200770137 +0400 @@ -186,6 +186,10 @@ else self->id = 0; } + else + { + return GRUB_ERR_IO; + } return grub_errno; } diff -Naur grub-2.00/grub-core/gfxmenu/gui_circular_progress.c grub-patch/grub-core/gfxmenu/gui_circular_progress.c --- grub-2.00/grub-core/gfxmenu/gui_circular_progress.c 2010-12-01 17:45:43.000000000 +0300 +++ grub-patch/grub-core/gfxmenu/gui_circular_progress.c 2013-03-04 14:15:57.352997914 +0400 @@ -270,6 +270,10 @@ grub_gfxmenu_timeout_register ((grub_gui_component_t) self, circprog_set_state); } + else + { + return GRUB_ERR_IO; + } return grub_errno; } diff -Naur grub-2.00/grub-core/gfxmenu/gui_image.c grub-patch/grub-core/gfxmenu/gui_image.c --- grub-2.00/grub-core/gfxmenu/gui_image.c 2012-02-08 16:41:16.000000000 +0400 +++ grub-patch/grub-core/gfxmenu/gui_image.c 2013-03-04 14:15:17.657499911 +0400 @@ -237,6 +237,10 @@ else self->id = 0; } + else + { + return GRUB_ERR_IO; + } return grub_errno; } diff -Naur grub-2.00/grub-core/gfxmenu/gui_label.c grub-patch/grub-core/gfxmenu/gui_label.c --- grub-2.00/grub-core/gfxmenu/gui_label.c 2012-03-03 16:00:50.000000000 +0400 +++ grub-patch/grub-core/gfxmenu/gui_label.c 2013-03-04 14:14:53.121066492 +0400 @@ -231,6 +231,10 @@ grub_gfxmenu_timeout_register ((grub_gui_component_t) self, label_set_state); } + else + { + return GRUB_ERR_IO; + } return GRUB_ERR_NONE; } diff -Naur grub-2.00/grub-core/gfxmenu/gui_list.c grub-patch/grub-core/gfxmenu/gui_list.c --- grub-2.00/grub-core/gfxmenu/gui_list.c 2011-12-14 14:36:07.000000000 +0400 +++ grub-patch/grub-core/gfxmenu/gui_list.c 2013-03-04 12:54:31.311035573 +0400 @@ -527,6 +527,10 @@ else self->id = 0; } + else + { + return GRUB_ERR_IO; + } return grub_errno; } diff -Naur grub-2.00/grub-core/gfxmenu/gui_progress_bar.c grub-patch/grub-core/gfxmenu/gui_progress_bar.c --- grub-2.00/grub-core/gfxmenu/gui_progress_bar.c 2012-03-10 22:37:48.000000000 +0400 +++ grub-patch/grub-core/gfxmenu/gui_progress_bar.c 2013-03-04 14:16:57.169163072 +0400 @@ -345,6 +345,10 @@ grub_gfxmenu_timeout_register ((grub_gui_component_t) self, progress_bar_set_state); } + else + { + return GRUB_ERR_IO; + } return grub_errno; } diff -Naur grub-2.00/grub-core/gfxmenu/theme_loader.c grub-patch/grub-core/gfxmenu/theme_loader.c --- grub-2.00/grub-core/gfxmenu/theme_loader.c 2012-02-24 14:19:45.000000000 +0400 +++ grub-patch/grub-core/gfxmenu/theme_loader.c 2013-03-04 15:01:36.112753989 +0400 @@ -557,7 +557,16 @@ parse_proportional_spec (value, &component->h, &component->hfrac); else /* General property handling. */ - component->ops->set_property (component, property, value); + { + grub_err_t error = component->ops->set_property (component, property, value); + if (error != GRUB_ERR_NONE) + { + grub_error (GRUB_ERR_IO, + "%s:%d:%d unknown property or wrong value `%s'=`%s'", + p->filename, p->line_num, p->col_num, + property, value); + } + } grub_free (value); grub_free (property);