Commit graph

69 commits

Author SHA1 Message Date
Vladimir Serbinenko
af0be976bf gfxmenu/theme_loader: Add missing allos error check.
Found by: Coverity scan.
2015-01-26 09:37:39 +01:00
Vladimir Serbinenko
bd74a925e5 gfxmenu/icon_manager: Fix null pointer dereference.
Found by: Coverity scan.
2015-01-26 09:37:01 +01:00
Vladimir Serbinenko
6866f2ba37 Remove potential division by 0 in gfxmenu. 2015-01-21 17:42:15 +01:00
Vladimir Serbinenko
ae558c2ccf Enable -Wformat=2 if it's supported. 2013-12-21 15:28:28 +01:00
Vladimir Serbinenko
5620eb5332 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
Use to get rounded angle rather than truncated.
2013-11-08 19:13:15 +01:00
Vladimir Serbinenko
d06de6c871 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
division by-zero and senseless negative divisions.
2013-11-08 15:44:39 +01:00
Vladimir Serbinenko
6af7d49b92 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
division by-zero and senseless negative divisions.
	(circprog_set_property): Don't accept negative num_ticks.
2013-11-08 15:43:07 +01:00
Vladimir Serbinenko
bcfa6d72e3 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
division by-zero and senseless negative divisions.
2013-11-08 15:38:58 +01:00
Vladimir Testov
4db2250000 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
* grub-core/gfxmenu/gui_canvas.c: Likewise.
        * grub-core/gfxmenu/view.c: Likewise.
        * grub-core/video/fb/video_fb.c: Introduce new functions:
        grub_video_set_area_status, grub_video_get_area_status,
        grub_video_set_region, grub_video_get_region.
        * grub-core/video/bochs.c: Likewise.
        * grub-core/video/capture.c: Likewise.
        * grub-core/video/video.c: Likewise.
        * grub-core/video/cirrus.c: Likewise.
        * grub-core/video/efi_gop.c: Likewise.
        * grub-core/video/efi_uga.c: Likewise.
        * grub-core/video/emu/sdl.c: Likewise.
        * grub-core/video/radeon_fuloong2e.c: Likewise.
        * grub-core/video/sis315pro.c: Likewise.
        * grub-core/video/sm712.c: Likewise.
        * grub-core/video/i386/pc/vbe.c: Likewise.
        * grub-core/video/i386/pc/vga.c: Likewise.
        * grub-core/video/ieee1275.c: Likewise.
        * grub-core/video/i386/coreboot/cbfb.c: Likewise.
        * include/grub/video.h: Likewise.
        * include/grub/video_fb.h: Likewise.
        * include/grub/fbfill.h: Updated render_target structure.
        grub_video_rect_t viewport, region, area
        int area_offset_x, area_offset_y, area_enabled
        * include/grub/gui.h: New helper function
        grub_video_bounds_inside_region.
        * docs/grub-dev.texi: Added information about new functions.
2013-11-08 15:42:38 +04:00
Vladimir Serbinenko
e54b8f536b * include/grub/misc.h (grub_strcat): Removed. All users changed to
more appropriate functions.
2013-11-01 16:27:37 +01:00
Vladimir Testov
47e0a61f6f * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added. 2013-10-17 15:50:25 +04:00
Vladimir Testov
946fd07357 * grub-core/gfxmenu/gui_progress_bar.c: New option `highlight_overlay`
* docs/gurb.texi: Likewise.
2013-10-17 15:42:49 +04:00
Vladimir Testov
9c13c57623 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
Pixmap highlighted section with east and west slices was displayed
        incorrectly due to negative width of the central slice.
2013-10-17 15:34:04 +04:00
Vladimir Testov
ac48d334ab * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added. 2013-10-15 18:16:06 +04:00
Vladimir Testov
b2b71bff36 * grub-core/gfxmenu/gui_list.c: New option item_pixmap_style.
* docs/grub.texi: Likewise.
2013-10-15 18:12:39 +04:00
Vladimir Testov
145e2369a7 * grub-core/gfxmenu/gui_list.c: New option scrollbar_thumb_overlay.
* docs/grub.texi: Likewise.
2013-10-10 14:37:19 +04:00
Vladimir Testov
ad297ec734 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
       scrollbar_bottom_pad
       * docs/grub.texi: Likewise.
2013-10-09 16:55:16 +04:00
Vladimir Testov
6e9e5dc98b * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak. 2013-10-09 10:44:11 +04:00
Vladimir Testov
53a5f5c2f0 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
occasional bug. If there are too many boot entries or too low
       scrollbar height then we need to use another formula to calculate
       the position and size of the scrollbar thumb.
2013-10-08 18:49:35 +04:00
Vladimir Testov
c582736463 * grub-core/gfxmenu/gui_list.c: New option scrollbar-slice.
* docs/grub.texi: Likewise.
2013-10-08 18:31:53 +04:00
Vladimir Testov
dd2ed8b092 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
viewport.
2013-10-08 16:27:56 +04:00
Vladimir Testov
7286c38450 * grub-core/gfxmenu.c (list_get_minimal_size): Corrected minimal
width calculations.
2013-10-08 15:35:00 +04:00
Vladimir 'phcoder' Serbinenko
498d503316 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
and don't mark error strings for translation.
2013-10-03 23:23:00 +02:00
Vladimir Testov
ebc1da55cd * grub-core/gfxmenu/theme_loader.c: New global options for the
theme background image handling. desktop-image-scale-method,
       desktop-image-h-align, desktop-image-v-align.
       * grub-core/gfxmenu/view.c: Likewise.
       * include/gfxmenu_view.h: Likewise.
       * include/bitmap_scale.h: Proportional scale functions introduced.
       * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
       put in a separate functions. GRUB_ERR_BUG is set for grub_error in
       cases of unexpected input variables for scale functions.
       * docs/grub.texi: Updated documentation for new options.
2013-10-02 18:17:33 +04:00
Vladimir Testov
03dafa17df * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed. 2013-08-15 16:13:51 +04:00
Vladimir Testov
224a55bb07 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
reduced. Inheritant options are processed during the theme loading.
2013-08-15 16:12:11 +04:00
Vladimir Testov
58ec39c6a7 * grub-core/gfxmenu/gui_list.c: Minimal width fixed. 2013-08-15 16:10:45 +04:00
Vladimir Testov
b47434612c * docs/grub.texi: Introduce terminal window position options:
terminal-left: terminal window's left position
        terminal-top: terminal window's top position
        terminal-width: terminal window's width
        terminal-height: terminal window's height
        * grub-core/gfxmenu/theme-loader.c: Likewise.
        * include/grub/gfxmenu_view.h: Likewise.
        * po/exlude.pot: Likewise.
        * grub-core/gfxmenu/view.c: Likewise.
        Also updated minimal window size.
        Also terminal_sanity_check function has been introduced.
2013-08-08 12:55:24 +04:00
Vladimir Testov
ba8bc620d1 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
maximum of NW, N, NE heights instead of N's height and maximum of
       NW, W, SW widths instead of W's width. (So the box will be always
       correctly drawn)
2013-07-25 18:15:15 +04:00
Vladimir Testov
d110499b22 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings. 2013-07-14 23:10:27 +02:00
Vladimir Testov
a8674ad37b * grub-core/gfxmenu/gui_list.c: Fix height calculation. 2013-07-14 23:02:37 +02:00
Vladimir 'phcoder' Serbinenko
fc4c4fddf6 Detach optional parts of gfxterm and integrate in with coreboot init. 2013-05-31 00:42:33 +02:00
Vladimir 'phcoder' Serbinenko
85002bf34a Agglomerate more mallocs to speed-up gfxterm. 2013-05-04 22:23:23 +02:00
Vladimir 'phcoder' Serbinenko
03f7c8c304 Fix several memory leaks. 2013-05-04 13:47:10 +02:00
Vladimir 'phcoder' Serbinenko
7391c4d5ac * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
the theme path relative to $prefix/themes.
2013-05-03 14:08:51 +02:00
Vladimir 'phcoder' Serbinenko
a4f9a5ff92 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
grub_gfxmenu_timeout_notifications.
	(grub_gfxmenu_view_destroy): Likewise.
2013-05-03 14:02:49 +02:00
Vladimir Testov
3476e0ef42 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
with syntax "XXX deg"/"XXX °".
2013-04-29 15:32:56 +02:00
Vladimir Testov
dc5a311a1e * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
cached view is reused.
	* grub-core/gfxmenu/view.c: Call the refresh procedure for all
	open boot menus.
2013-04-29 13:40:11 +02:00
Vladimir Testov
07f392ebef * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes. 2013-04-03 09:34:08 +02:00
Vladimir Testov
c3578acfbb * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
into account when calculating radius.
2013-04-03 09:20:29 +02:00
Vladimir Testov
9efd73ec66 * grub-core/gfxmenu/view.c: Fix off-by-one error. 2013-04-03 08:53:58 +02:00
Vladimir Testov
4985ddaa7a * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error. 2013-04-03 08:51:13 +02:00
Vladimir Testov
33871a10a8 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
memory leak.
2013-03-26 08:26:01 +01:00
Vladimir 'phcoder' Serbinenko
19e29ee1a9 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
hook pass-through parameter. All users updated and unnested.
2013-03-02 11:47:59 +01:00
Vladimir 'phcoder' Serbinenko
34f71cb866 Improve bidi handling in entry editor. 2013-01-16 13:41:16 +01:00
Dr. Tilmann Bubeck
74b2fe3e4f * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
window too small.
2012-12-10 16:14:12 +01:00
Vladimir 'phcoder' Serbinenko
969b804f2a * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
argument rather than font name. All users updated.
	(grub_gfxterm_set_window): Likewise.
2012-12-10 16:07:33 +01:00
Vladimir 'phcoder' Serbinenko
7086ad524f Remove unjustified hard dependency of normal.mod on gfxterm.
* include/grub/term.h (grub_term_output): New member fullscreen.
	* include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
	* grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
	(grub_gfxterm): Set .fullscreen.
	* grub-core/normal/menu.c (menu_init): Use fullscreen.
	* grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
2012-05-21 22:17:11 +02:00
Vladimir 'phcoder' Serbinenko
14361ee8aa * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
unused show_text member.
	* docs/grub.texi: Document "text" property.
2012-03-10 19:46:46 +01:00
Vladimir 'phcoder' Serbinenko
805a8dccc8 * grub-core/commands/gptsync.c: Fix typographic quoting.
* grub-core/commands/ieee1275/suspend.c: Likewise.
	* grub-core/commands/parttool.c: Likewise.
	* grub-core/commands/search_wrap.c: Likewise.
	* grub-core/commands/videoinfo.c: Likewise.
	* grub-core/gfxmenu/gui_label.c: Likewise.
	* grub-core/hello/hello.c: Likewise.
	* grub-core/kern/emu/main.c: Likewise.
	* grub-core/net/net.c: Likewise.
	* grub-core/normal/menu.c: Likewise.
	* grub-core/normal/menu_text.c: Likewise.
	* grub-core/normal/misc.c: Likewise.
	* util/grub-editenv.c: Likewise.
	* util/grub-install.in: Likewise.
	* util/grub-kbdcomp.in: Likewise.
	* util/grub-mkconfig.in: Likewise.
	* util/grub-mknetdir.in: Likewise.
	* util/grub-mkrescue.in: Likewise.
	* util/grub-mkstandalone.in: Likewise.
	* util/grub-reboot.in: Likewise.
	* util/grub-set-default.in: Likewise.
	* util/grub-setup.c: Likewise.
	* util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2012-03-03 13:05:08 +01:00