summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2010-08-02 14:12:44 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2010-08-02 14:12:44 +0000
commit75556fd57ff70be9a9cbc183cbacb71db520291d (patch)
treeaa5e8db09ed267bc2e6351d7dc4778d4dae25f2a
parentee4f8a9a6bc313cd878f84a6c9832b6094685460 (diff)
downloadrockbox-75556fd57ff70be9a9cbc183cbacb71db520291d.tar.gz
rockbox-75556fd57ff70be9a9cbc183cbacb71db520291d.tar.bz2
rockbox-75556fd57ff70be9a9cbc183cbacb71db520291d.zip
Fix FS#10926 - h300 wps wouldnt be updated correctly when the backlight turns off because the remote is being naughty
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27666 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/gui/statusbar-skinned.c16
-rw-r--r--apps/gui/wps.c16
2 files changed, 27 insertions, 5 deletions
diff --git a/apps/gui/statusbar-skinned.c b/apps/gui/statusbar-skinned.c
index 81eb92923d..6a341d0e55 100644
--- a/apps/gui/statusbar-skinned.c
+++ b/apps/gui/statusbar-skinned.c
@@ -194,10 +194,22 @@ void sb_skin_update(enum screen_type screen, bool force)
* so still update those */
if (lcd_active() || (i != SCREEN_MAIN))
#endif
- skin_update(&sb_skin[i], force?
+ {
+ bool full_update = false;
+#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;
+ }
+#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?
SKIN_REFRESH_ALL : SKIN_REFRESH_NON_STATIC);
+ }
next_update[i] = current_tick + update_delay; /* don't update too often */
- sb_skin[SCREEN_MAIN].sync_data->do_full_update = false;
}
}
diff --git a/apps/gui/wps.c b/apps/gui/wps.c
index 7d583a82b4..8b3f671e34 100644
--- a/apps/gui/wps.c
+++ b/apps/gui/wps.c
@@ -1116,11 +1116,21 @@ long gui_wps_show(void)
if (lcd_active() || (i != SCREEN_MAIN))
#endif
{
- skin_update(&gui_wps[i], wps_sync_data.do_full_update ?
- SKIN_REFRESH_ALL : SKIN_REFRESH_NON_STATIC);
+ 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 ?
+ SKIN_REFRESH_ALL : SKIN_REFRESH_NON_STATIC);
}
}
- wps_sync_data.do_full_update = false;
update = false;
}