summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2009-08-12 13:04:12 +0000
committerThomas Martitz <kugel@rockbox.org>2009-08-12 13:04:12 +0000
commite4bdc08d0c2468f5d9fa6205495788241d7e562a (patch)
tree2a652839cd2385191c461e1b6ba8991aa95b6772
parent4b7a2ba276d4323a6e7d58243d1a62531081962c (diff)
downloadrockbox-e4bdc08d0c2468f5d9fa6205495788241d7e562a.tar.gz
rockbox-e4bdc08d0c2468f5d9fa6205495788241d7e562a.zip
Fix FS#10505 - "Background changes to inverted when cleared" as well as a problem that lets the viewport parser reject correct WPSes, both introduced by r22222
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22264 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/gui/viewport.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/apps/gui/viewport.c b/apps/gui/viewport.c
index 2819d36625..d30352a845 100644
--- a/apps/gui/viewport.c
+++ b/apps/gui/viewport.c
@@ -37,6 +37,7 @@
37 37
38 38
39 39
40/*some short cuts for fg/bg/line selector handling */
40#ifdef HAVE_LCD_COLOR 41#ifdef HAVE_LCD_COLOR
41#define LINE_SEL_FROM_SETTINGS(vp) \ 42#define LINE_SEL_FROM_SETTINGS(vp) \
42 do { \ 43 do { \
@@ -44,16 +45,13 @@
44 vp->lse_pattern = global_settings.lse_color; \ 45 vp->lse_pattern = global_settings.lse_color; \
45 vp->lst_pattern = global_settings.lst_color; \ 46 vp->lst_pattern = global_settings.lst_color; \
46 } while (0) 47 } while (0)
47#else
48#define LINE_SEL_FROM_SETTINGS(vp)
49#endif
50
51#ifdef HAVE_LCD_COLOR
52#define FG_FALLBACK global_settings.fg_color 48#define FG_FALLBACK global_settings.fg_color
53#define BG_FALLBACK global_settings.bg_color 49#define BG_FALLBACK global_settings.bg_color
54#else 50#else
51/* mono/greyscale doesn't have most of the above */
52#define LINE_SEL_FROM_SETTINGS(vp)
55#define FG_FALLBACK LCD_DEFAULT_FG 53#define FG_FALLBACK LCD_DEFAULT_FG
56#define BG_FALLBACK LCD_DEFAULT_FG 54#define BG_FALLBACK LCD_DEFAULT_BG
57#endif 55#endif
58 56
59static int statusbar_enabled = 0; 57static int statusbar_enabled = 0;
@@ -169,9 +167,9 @@ void viewportmanager_statusbar_changed(void* data)
169} 167}
170 168
171#ifdef HAVE_LCD_COLOR 169#ifdef HAVE_LCD_COLOR
172#define ARG_STRING (depth == 2 ? "dddddgg":"dddddcc") 170#define ARG_STRING(_depth) ((_depth) == 2 ? "dddddgg":"dddddcc")
173#else 171#else
174#define ARG_STRING "dddddcc" 172#define ARG_STRING(_depth) "dddddgg"
175#endif 173#endif
176 174
177#ifdef HAVE_LCD_BITMAP 175#ifdef HAVE_LCD_BITMAP
@@ -209,7 +207,7 @@ const char* viewport_parse_viewport(struct viewport *vp,
209#if (LCD_DEPTH > 1) || (defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1) 207#if (LCD_DEPTH > 1) || (defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1)
210 if (depth >= 2) 208 if (depth >= 2)
211 { 209 {
212 if (!(ptr = parse_list(ARG_STRING, &set, separator, ptr, 210 if (!(ptr = parse_list(ARG_STRING(depth), &set, separator, ptr,
213 &vp->x, &vp->y, &vp->width, &vp->height, &vp->font, 211 &vp->x, &vp->y, &vp->width, &vp->height, &vp->font,
214 &vp->fg_pattern,&vp->bg_pattern))) 212 &vp->fg_pattern,&vp->bg_pattern)))
215 return VP_ERROR; 213 return VP_ERROR;