diff --git a/apps/gui/statusbar-skinned.c b/apps/gui/statusbar-skinned.c index fc9735da21..c991d8ea40 100644 --- a/apps/gui/statusbar-skinned.c +++ b/apps/gui/statusbar-skinned.c @@ -170,9 +170,9 @@ void sb_skin_update(enum screen_type screen, bool force) if (lcd_active() || (i != SCREEN_MAIN)) #endif { - bool full_update = skin_do_full_update(CUSTOM_STATUSBAR, screen); - skin_update(CUSTOM_STATUSBAR, screen, force || - full_update ? SKIN_REFRESH_ALL : SKIN_REFRESH_NON_STATIC); + if (force) + skin_request_full_update(CUSTOM_STATUSBAR); + skin_update(CUSTOM_STATUSBAR, screen, SKIN_REFRESH_NON_STATIC); } next_update[i] = current_tick + update_delay; /* don't update too often */ } diff --git a/apps/misc.c b/apps/misc.c index fa33bb5c4f..d63676eb89 100644 --- a/apps/misc.c +++ b/apps/misc.c @@ -1214,18 +1214,26 @@ static int current_activity_top = 0; void push_current_activity(enum current_activity screen) { current_activity[current_activity_top++] = screen; -#if defined(HAVE_LCD_BITMAP) && !defined(__PCTOOL__) FOR_NB_SCREENS(i) + { +#if defined(HAVE_LCD_BITMAP) && !defined(__PCTOOL__) skinlist_set_cfg(i, NULL); #endif + skin_update(CUSTOM_STATUSBAR, i, SKIN_REFRESH_ALL); + } } + void pop_current_activity(void) { current_activity_top--; -#if defined(HAVE_LCD_BITMAP) && !defined(__PCTOOL__) FOR_NB_SCREENS(i) + { +#if defined(HAVE_LCD_BITMAP) && !defined(__PCTOOL__) skinlist_set_cfg(i, NULL); #endif + skin_update(CUSTOM_STATUSBAR, i, SKIN_REFRESH_ALL); + } + } enum current_activity get_current_activity(void) {