summaryrefslogtreecommitdiff
path: root/apps/gui/statusbar-skinned.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/gui/statusbar-skinned.c')
-rw-r--r--apps/gui/statusbar-skinned.c16
1 files changed, 14 insertions, 2 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)
194 * so still update those */ 194 * so still update those */
195 if (lcd_active() || (i != SCREEN_MAIN)) 195 if (lcd_active() || (i != SCREEN_MAIN))
196#endif 196#endif
197 skin_update(&sb_skin[i], force? 197 {
198 bool full_update = false;
199#if NB_SCREENS > 1
200 if (i==SCREEN_MAIN && sb_skin[i].sync_data->do_full_update)
201 {
202 full_update = true;
203 sb_skin[i].sync_data->do_full_update = false;
204 }
205#else
206 full_update = sb_skin[i].sync_data->do_full_update;
207 sb_skin[i].sync_data->do_full_update = false;
208#endif
209 skin_update(&sb_skin[i], force || full_update?
198 SKIN_REFRESH_ALL : SKIN_REFRESH_NON_STATIC); 210 SKIN_REFRESH_ALL : SKIN_REFRESH_NON_STATIC);
211 }
199 next_update[i] = current_tick + update_delay; /* don't update too often */ 212 next_update[i] = current_tick + update_delay; /* don't update too often */
200 sb_skin[SCREEN_MAIN].sync_data->do_full_update = false;
201 } 213 }
202} 214}
203 215