summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2010-08-10 13:56:48 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2010-08-10 13:56:48 +0000
commita547fc1b351f98f620ba61e240ebbf0729727e1c (patch)
tree6ea6b02e597f6c673891b6386d84b9c1939e4569
parent1b53b99b75f6e4047222dcf24c6641dce26d930e (diff)
downloadrockbox-a547fc1b351f98f620ba61e240ebbf0729727e1c.zip
rockbox-a547fc1b351f98f620ba61e240ebbf0729727e1c.tar.gz
rockbox-a547fc1b351f98f620ba61e240ebbf0729727e1c.tar.bz2
rockbox-a547fc1b351f98f620ba61e240ebbf0729727e1c.tar.xz
Fix FS#11527 - remote wps/sbs doesnt update correctly
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27767 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/gui/statusbar-skinned.c11
-rw-r--r--apps/gui/wps.c5
2 files changed, 10 insertions, 6 deletions
diff --git a/apps/gui/statusbar-skinned.c b/apps/gui/statusbar-skinned.c
index 6a341d0..3b4dd24 100644
--- a/apps/gui/statusbar-skinned.c
+++ b/apps/gui/statusbar-skinned.c
@@ -195,15 +195,20 @@ void sb_skin_update(enum screen_type screen, bool force)
if (lcd_active() || (i != SCREEN_MAIN))
#endif
{
- bool full_update = false;
+ bool full_update = sb_skin[i].sync_data->do_full_update;
#if NB_SCREENS > 1
if (i==SCREEN_MAIN && sb_skin[i].sync_data->do_full_update)
{
- full_update = true;
sb_skin[i].sync_data->do_full_update = false;
+ /* we need to make sure the remote gets a full update
+ * next time it is drawn also. so quick n dirty hack */
+ next_update[SCREEN_REMOTE] = 0;
+ }
+ else if (next_update[SCREEN_REMOTE] == 0)
+ {
+ full_update = true;
}
#else
- full_update = sb_skin[i].sync_data->do_full_update;
sb_skin[i].sync_data->do_full_update = false;
#endif
skin_update(&sb_skin[i], force || full_update?
diff --git a/apps/gui/wps.c b/apps/gui/wps.c
index df00080..508446a 100644
--- a/apps/gui/wps.c
+++ b/apps/gui/wps.c
@@ -1113,6 +1113,7 @@ long gui_wps_show(void)
#if defined(HAVE_BACKLIGHT) || defined(HAVE_REMOTE_LCD)
gwps_caption_backlight(&wps_state);
#endif
+ bool full_update = wps_sync_data.do_full_update;
FOR_NB_SCREENS(i)
{
#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
@@ -1121,15 +1122,13 @@ long gui_wps_show(void)
if (lcd_active() || (i != SCREEN_MAIN))
#endif
{
- bool full_update = false;
#if NB_SCREENS > 1
if (i==SCREEN_MAIN && wps_sync_data.do_full_update)
{
- full_update = true;
wps_sync_data.do_full_update = false;
}
+
#else
- full_update = wps_sync_data.do_full_update;
wps_sync_data.do_full_update = false;
#endif
skin_update(&gui_wps[i], full_update ?