forked from len0rd/rockbox
skins: Update SBS when changing activities.
When changing activities (those that are indicated via %cs skin tag), the sbs needs to be updated, so that the UI viewport can be applied before that activity draws its UI. Fixes FS#12804. I hope this commit doesn't have bad side effects. Change-Id: If45654e356749f5f27991430dbd1da6f23e6f802
This commit is contained in:
parent
644d9eab6c
commit
2eb873cea6
2 changed files with 13 additions and 5 deletions
|
@ -170,9 +170,9 @@ void sb_skin_update(enum screen_type screen, bool force)
|
||||||
if (lcd_active() || (i != SCREEN_MAIN))
|
if (lcd_active() || (i != SCREEN_MAIN))
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
bool full_update = skin_do_full_update(CUSTOM_STATUSBAR, screen);
|
if (force)
|
||||||
skin_update(CUSTOM_STATUSBAR, screen, force ||
|
skin_request_full_update(CUSTOM_STATUSBAR);
|
||||||
full_update ? SKIN_REFRESH_ALL : SKIN_REFRESH_NON_STATIC);
|
skin_update(CUSTOM_STATUSBAR, screen, SKIN_REFRESH_NON_STATIC);
|
||||||
}
|
}
|
||||||
next_update[i] = current_tick + update_delay; /* don't update too often */
|
next_update[i] = current_tick + update_delay; /* don't update too often */
|
||||||
}
|
}
|
||||||
|
|
12
apps/misc.c
12
apps/misc.c
|
@ -1214,18 +1214,26 @@ static int current_activity_top = 0;
|
||||||
void push_current_activity(enum current_activity screen)
|
void push_current_activity(enum current_activity screen)
|
||||||
{
|
{
|
||||||
current_activity[current_activity_top++] = screen;
|
current_activity[current_activity_top++] = screen;
|
||||||
#if defined(HAVE_LCD_BITMAP) && !defined(__PCTOOL__)
|
|
||||||
FOR_NB_SCREENS(i)
|
FOR_NB_SCREENS(i)
|
||||||
|
{
|
||||||
|
#if defined(HAVE_LCD_BITMAP) && !defined(__PCTOOL__)
|
||||||
skinlist_set_cfg(i, NULL);
|
skinlist_set_cfg(i, NULL);
|
||||||
#endif
|
#endif
|
||||||
|
skin_update(CUSTOM_STATUSBAR, i, SKIN_REFRESH_ALL);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void pop_current_activity(void)
|
void pop_current_activity(void)
|
||||||
{
|
{
|
||||||
current_activity_top--;
|
current_activity_top--;
|
||||||
#if defined(HAVE_LCD_BITMAP) && !defined(__PCTOOL__)
|
|
||||||
FOR_NB_SCREENS(i)
|
FOR_NB_SCREENS(i)
|
||||||
|
{
|
||||||
|
#if defined(HAVE_LCD_BITMAP) && !defined(__PCTOOL__)
|
||||||
skinlist_set_cfg(i, NULL);
|
skinlist_set_cfg(i, NULL);
|
||||||
#endif
|
#endif
|
||||||
|
skin_update(CUSTOM_STATUSBAR, i, SKIN_REFRESH_ALL);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
enum current_activity get_current_activity(void)
|
enum current_activity get_current_activity(void)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue