summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/gui/viewport.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/apps/gui/viewport.c b/apps/gui/viewport.c
index 5769dd7912..c51f2f5b48 100644
--- a/apps/gui/viewport.c
+++ b/apps/gui/viewport.c
@@ -64,7 +64,7 @@ struct viewport_stack_item
64 64
65#ifdef HAVE_LCD_BITMAP 65#ifdef HAVE_LCD_BITMAP
66static void viewportmanager_redraw(void* data); 66static void viewportmanager_redraw(void* data);
67 67
68static int theme_stack_top[NB_SCREENS]; /* the last item added */ 68static int theme_stack_top[NB_SCREENS]; /* the last item added */
69static struct viewport_stack_item theme_stack[NB_SCREENS][VPSTACK_DEPTH]; 69static struct viewport_stack_item theme_stack[NB_SCREENS][VPSTACK_DEPTH];
70static bool is_theme_enabled(enum screen_type screen); 70static bool is_theme_enabled(enum screen_type screen);
@@ -91,7 +91,7 @@ static void toggle_events(bool enable)
91 remove_event(PLAYBACK_EVENT_TRACK_CHANGE, do_sbs_update_callback); 91 remove_event(PLAYBACK_EVENT_TRACK_CHANGE, do_sbs_update_callback);
92 remove_event(PLAYBACK_EVENT_NEXTTRACKID3_AVAILABLE, do_sbs_update_callback); 92 remove_event(PLAYBACK_EVENT_NEXTTRACKID3_AVAILABLE, do_sbs_update_callback);
93 remove_event(GUI_EVENT_ACTIONUPDATE, viewportmanager_redraw); 93 remove_event(GUI_EVENT_ACTIONUPDATE, viewportmanager_redraw);
94 } 94 }
95} 95}
96 96
97 97
@@ -162,6 +162,7 @@ static void toggle_theme(enum screen_type screen, bool force)
162 screens[screen].clear_viewport(); 162 screens[screen].clear_viewport();
163 screens[screen].update_viewport(); 163 screens[screen].update_viewport();
164 } 164 }
165 screens[screen].set_viewport(NULL);
165 } 166 }
166 intptr_t force = first_boot?0:1; 167 intptr_t force = first_boot?0:1;
167 send_event(GUI_EVENT_ACTIONUPDATE, (void*)force); 168 send_event(GUI_EVENT_ACTIONUPDATE, (void*)force);
@@ -228,8 +229,8 @@ static void viewportmanager_redraw(void* data)
228 FOR_NB_SCREENS(i) 229 FOR_NB_SCREENS(i)
229 { 230 {
230#ifdef HAVE_LCD_BITMAP 231#ifdef HAVE_LCD_BITMAP
231 if (statusbar_position(i) == STATUSBAR_CUSTOM) 232 if (statusbar_position(i) == STATUSBAR_CUSTOM)
232 sb_skin_update(i, NULL != data); 233 sb_skin_update(i, NULL != data);
233 else if (statusbar_position(i) != STATUSBAR_OFF) 234 else if (statusbar_position(i) != STATUSBAR_OFF)
234#endif 235#endif
235 gui_statusbar_draw(&statusbars.statusbars[i], NULL != data); 236 gui_statusbar_draw(&statusbars.statusbars[i], NULL != data);
@@ -244,7 +245,7 @@ void viewportmanager_init()
244 { 245 {
245 theme_stack_top[i] = -1; /* the next call fixes this to 0 */ 246 theme_stack_top[i] = -1; /* the next call fixes this to 0 */
246 /* We always want the theme enabled by default... */ 247 /* We always want the theme enabled by default... */
247 viewportmanager_theme_enable(i, true, NULL); 248 viewportmanager_theme_enable(i, true, NULL);
248 } 249 }
249#else 250#else
250 add_event(GUI_EVENT_ACTIONUPDATE, false, viewportmanager_redraw); 251 add_event(GUI_EVENT_ACTIONUPDATE, false, viewportmanager_redraw);
@@ -266,7 +267,7 @@ void viewportmanager_theme_changed(const int which)
266 { 267 {
267 } 268 }
268 if (which & THEME_LANGUAGE) 269 if (which & THEME_LANGUAGE)
269 { 270 {
270 } 271 }
271 if (which & THEME_STATUSBAR) 272 if (which & THEME_STATUSBAR)
272 { 273 {
@@ -353,20 +354,19 @@ void viewport_set_defaults(struct viewport *vp,
353 const enum screen_type screen) 354 const enum screen_type screen)
354{ 355{
355#if defined(HAVE_LCD_BITMAP) && !defined(__PCTOOL__) 356#if defined(HAVE_LCD_BITMAP) && !defined(__PCTOOL__)
356
357 struct viewport *sbs_area = NULL; 357 struct viewport *sbs_area = NULL;
358 if (!is_theme_enabled(screen)) 358 if (!is_theme_enabled(screen))
359 { 359 {
360 viewport_set_fullscreen(vp, screen); 360 viewport_set_fullscreen(vp, screen);
361 return; 361 return;
362 } 362 }
363 sbs_area = sb_skin_get_info_vp(screen); 363 sbs_area = sb_skin_get_info_vp(screen);
364 364
365 if (sbs_area) 365 if (sbs_area)
366 *vp = *sbs_area; 366 *vp = *sbs_area;
367 else 367 else
368#endif /* HAVE_LCD_BITMAP */ 368#endif /* HAVE_LCD_BITMAP */
369 viewport_set_fullscreen(vp, screen); 369 viewport_set_fullscreen(vp, screen);
370} 370}
371 371
372 372
@@ -418,7 +418,7 @@ const char* viewport_parse_viewport(struct viewport *vp,
418 /* X and Y *must* be set */ 418 /* X and Y *must* be set */
419 if (!LIST_VALUE_PARSED(set, PL_X) || !LIST_VALUE_PARSED(set, PL_Y)) 419 if (!LIST_VALUE_PARSED(set, PL_X) || !LIST_VALUE_PARSED(set, PL_Y))
420 return NULL; 420 return NULL;
421 /* check for negative values */ 421 /* check for negative values */
422 if (vp->x < 0) 422 if (vp->x < 0)
423 vp->x += screens[screen].lcdwidth; 423 vp->x += screens[screen].lcdwidth;
424 if (vp->y < 0) 424 if (vp->y < 0)