forked from len0rd/rockbox
Revert "Eliminate SBS update on WPS exit"
This reverts commit 18c8e554fd
.
Unfortunately, this approach doesn't play super-well
with *all* themes, specifically in cases where the user-
set background color, used for drawing on the backdrop,
doesn't really blend in with the skin's actual background
color. Plus, it may leave some patches of color behind,
if a theme author didn't take care to cover all parts of
the screen with foreground viewports.
Change-Id: I0159b2e5de6c0753dea54bc6bafe5bc6268a0c6a
This commit is contained in:
parent
f9bdf33a41
commit
095729eb7d
2 changed files with 12 additions and 12 deletions
|
@ -57,7 +57,6 @@
|
|||
#include "language.h"
|
||||
#include "statusbar-skinned.h"
|
||||
#include "skin_engine/skin_engine.h"
|
||||
#include "skin_engine/wps_internals.h"
|
||||
#include "debug.h"
|
||||
|
||||
#define VPSTACK_DEPTH 16
|
||||
|
@ -123,17 +122,7 @@ static void toggle_theme(enum screen_type screen, bool force)
|
|||
/* remove the left overs from the previous screen.
|
||||
* could cause a tiny flicker. Redo your screen code if that happens */
|
||||
#ifdef HAVE_BACKDROP_IMAGE
|
||||
int backdrop_id = sb_get_backdrop(screen);
|
||||
if (get_current_activity() == ACTIVITY_WPS)
|
||||
{
|
||||
struct wps_data *sbs = skin_get_gwps(CUSTOM_STATUSBAR, screen)->data;
|
||||
struct wps_data *wps = skin_get_gwps(WPS, screen)->data;
|
||||
/* Extra framebuffer shared between WPS and SBS;
|
||||
prevents flashing previous backdrop: */
|
||||
if (wps->use_extra_framebuffer && sbs->use_extra_framebuffer)
|
||||
backdrop_id = -1;
|
||||
}
|
||||
skin_backdrop_show(backdrop_id);
|
||||
skin_backdrop_show(sb_get_backdrop(screen));
|
||||
#endif
|
||||
if (LIKELY(after_boot[screen]) && (!was_enabled[screen] || force))
|
||||
{
|
||||
|
|
|
@ -542,7 +542,18 @@ static void gwps_leave_wps(bool theme_enabled)
|
|||
struct gui_wps *gwps = skin_get_gwps(WPS, i);
|
||||
gwps->display->scroll_stop();
|
||||
if (theme_enabled)
|
||||
{
|
||||
#ifdef HAVE_BACKDROP_IMAGE
|
||||
skin_backdrop_show(sb_get_backdrop(i));
|
||||
|
||||
/* The following is supposed to erase any traces of %VB
|
||||
viewports drawn by the WPS. May need further thought... */
|
||||
struct wps_data *sbs = skin_get_gwps(CUSTOM_STATUSBAR, i)->data;
|
||||
if (gwps->data->use_extra_framebuffer && sbs->use_extra_framebuffer)
|
||||
skin_update(CUSTOM_STATUSBAR, i, SKIN_REFRESH_ALL);
|
||||
#endif
|
||||
viewportmanager_theme_undo(i, skin_has_sbs(gwps));
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue