diff options
author | Thomas Martitz <kugel@rockbox.org> | 2014-01-10 21:50:37 +0100 |
---|---|---|
committer | Thomas Martitz <kugel@rockbox.org> | 2014-01-10 21:54:06 +0100 |
commit | d4d3f3c494e48304d41eada0a4881a9d2b4b97f4 (patch) | |
tree | 2b656c825f1e668beae9893139a945d9c1adbdee /apps/gui/skin_engine/skin_parser.c | |
parent | 9cd3444e272bbffc5ca6dcf172577b0e7885a3d2 (diff) | |
download | rockbox-d4d3f3c494e48304d41eada0a4881a9d2b4b97f4.tar.gz rockbox-d4d3f3c494e48304d41eada0a4881a9d2b4b97f4.zip |
skin engine: Fix FS#12884.
The %Vf and %Vb tags change the colors for the rest of the viewport. This
requires the rest of the vp to be redrawn when they change due to a conditional.
The previous code did this redraw in all cases (conditional or not) which
led to visible blinking.
Change-Id: Ie59dfc6fe8ed76485a2a2bd7caf1315f1944c227
Diffstat (limited to 'apps/gui/skin_engine/skin_parser.c')
-rw-r--r-- | apps/gui/skin_engine/skin_parser.c | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/apps/gui/skin_engine/skin_parser.c b/apps/gui/skin_engine/skin_parser.c index 1946e179c0..1de1047583 100644 --- a/apps/gui/skin_engine/skin_parser.c +++ b/apps/gui/skin_engine/skin_parser.c | |||
@@ -700,15 +700,9 @@ static int parse_viewportcolour(struct skin_element *element, | |||
700 | if (element->line == curr_viewport_element->line) | 700 | if (element->line == curr_viewport_element->line) |
701 | { | 701 | { |
702 | if (token->type == SKIN_TOKEN_VIEWPORT_FGCOLOUR) | 702 | if (token->type == SKIN_TOKEN_VIEWPORT_FGCOLOUR) |
703 | { | ||
704 | curr_vp->start_fgcolour = colour->colour; | ||
705 | curr_vp->vp.fg_pattern = colour->colour; | 703 | curr_vp->vp.fg_pattern = colour->colour; |
706 | } | ||
707 | else | 704 | else |
708 | { | ||
709 | curr_vp->start_bgcolour = colour->colour; | ||
710 | curr_vp->vp.bg_pattern = colour->colour; | 705 | curr_vp->vp.bg_pattern = colour->colour; |
711 | } | ||
712 | } | 706 | } |
713 | return 0; | 707 | return 0; |
714 | } | 708 | } |
@@ -1953,8 +1947,6 @@ static int convert_viewport(struct wps_data *data, struct skin_element* element) | |||
1953 | 1947 | ||
1954 | #if (LCD_DEPTH > 1) || (defined(HAVE_REMOTE_LCD) && (LCD_REMOTE_DEPTH > 1)) | 1948 | #if (LCD_DEPTH > 1) || (defined(HAVE_REMOTE_LCD) && (LCD_REMOTE_DEPTH > 1)) |
1955 | skin_vp->output_to_backdrop_buffer = false; | 1949 | skin_vp->output_to_backdrop_buffer = false; |
1956 | skin_vp->start_fgcolour = skin_vp->vp.fg_pattern; | ||
1957 | skin_vp->start_bgcolour = skin_vp->vp.bg_pattern; | ||
1958 | #endif | 1950 | #endif |
1959 | #ifdef HAVE_LCD_COLOR | 1951 | #ifdef HAVE_LCD_COLOR |
1960 | skin_vp->start_gradient.start = global_settings.lss_color; | 1952 | skin_vp->start_gradient.start = global_settings.lss_color; |