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.tar.gz
rockbox-a547fc1b351f98f620ba61e240ebbf0729727e1c.zip
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 6a341d0e55..3b4dd24512 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)
195 if (lcd_active() || (i != SCREEN_MAIN)) 195 if (lcd_active() || (i != SCREEN_MAIN))
196#endif 196#endif
197 { 197 {
198 bool full_update = false; 198 bool full_update = sb_skin[i].sync_data->do_full_update;
199#if NB_SCREENS > 1 199#if NB_SCREENS > 1
200 if (i==SCREEN_MAIN && sb_skin[i].sync_data->do_full_update) 200 if (i==SCREEN_MAIN && sb_skin[i].sync_data->do_full_update)
201 { 201 {
202 full_update = true;
203 sb_skin[i].sync_data->do_full_update = false; 202 sb_skin[i].sync_data->do_full_update = false;
203 /* we need to make sure the remote gets a full update
204 * next time it is drawn also. so quick n dirty hack */
205 next_update[SCREEN_REMOTE] = 0;
206 }
207 else if (next_update[SCREEN_REMOTE] == 0)
208 {
209 full_update = true;
204 } 210 }
205#else 211#else
206 full_update = sb_skin[i].sync_data->do_full_update;
207 sb_skin[i].sync_data->do_full_update = false; 212 sb_skin[i].sync_data->do_full_update = false;
208#endif 213#endif
209 skin_update(&sb_skin[i], force || full_update? 214 skin_update(&sb_skin[i], force || full_update?
diff --git a/apps/gui/wps.c b/apps/gui/wps.c
index df00080f2c..508446ab98 100644
--- a/apps/gui/wps.c
+++ b/apps/gui/wps.c
@@ -1113,6 +1113,7 @@ long gui_wps_show(void)
1113#if defined(HAVE_BACKLIGHT) || defined(HAVE_REMOTE_LCD) 1113#if defined(HAVE_BACKLIGHT) || defined(HAVE_REMOTE_LCD)
1114 gwps_caption_backlight(&wps_state); 1114 gwps_caption_backlight(&wps_state);
1115#endif 1115#endif
1116 bool full_update = wps_sync_data.do_full_update;
1116 FOR_NB_SCREENS(i) 1117 FOR_NB_SCREENS(i)
1117 { 1118 {
1118#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP) 1119#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
@@ -1121,15 +1122,13 @@ long gui_wps_show(void)
1121 if (lcd_active() || (i != SCREEN_MAIN)) 1122 if (lcd_active() || (i != SCREEN_MAIN))
1122#endif 1123#endif
1123 { 1124 {
1124 bool full_update = false;
1125#if NB_SCREENS > 1 1125#if NB_SCREENS > 1
1126 if (i==SCREEN_MAIN && wps_sync_data.do_full_update) 1126 if (i==SCREEN_MAIN && wps_sync_data.do_full_update)
1127 { 1127 {
1128 full_update = true;
1129 wps_sync_data.do_full_update = false; 1128 wps_sync_data.do_full_update = false;
1130 } 1129 }
1130
1131#else 1131#else
1132 full_update = wps_sync_data.do_full_update;
1133 wps_sync_data.do_full_update = false; 1132 wps_sync_data.do_full_update = false;
1134#endif 1133#endif
1135 skin_update(&gui_wps[i], full_update ? 1134 skin_update(&gui_wps[i], full_update ?