summaryrefslogtreecommitdiff
path: root/apps/gui
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2009-11-16 01:38:33 +0000
committerThomas Martitz <kugel@rockbox.org>2009-11-16 01:38:33 +0000
commitcc697a8f7a45f7db4adc4cc3786a780c84c209bb (patch)
tree885c7523df69191f169ae6fba79b538f2c0a4ff0 /apps/gui
parentbdf2961ba3c0d6ac1b58d6e4acd748415d4cfdd6 (diff)
Avoid two subsequent full update.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23645 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui')
-rw-r--r--apps/gui/wps.c37
1 files changed, 19 insertions, 18 deletions
diff --git a/apps/gui/wps.c b/apps/gui/wps.c
index 88d5c91738..d0e1b6f397 100644
--- a/apps/gui/wps.c
+++ b/apps/gui/wps.c
@@ -1161,7 +1161,25 @@ long gui_wps_show(void)
}
}
- if (wps_sync_data.do_full_update || update)
+
+ if (restore && wps_state.id3 &&
+ ((restoretimer == RESTORE_WPS_INSTANTLY) ||
+ TIME_AFTER(current_tick, restoretimer)))
+ {
+ restore = false;
+ restoretimer = RESTORE_WPS_INSTANTLY;
+#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
+ add_event(LCD_EVENT_ACTIVATION, false, wps_lcd_activation_hook);
+#endif
+ /* we remove the update delay since it's not very usable in the wps,
+ * e.g. during volume changing or ffwd/rewind */
+ sb_skin_set_update_delay(0);
+ FOR_NB_SCREENS(i)
+ gui_wps[i].display->backdrop_show(BACKDROP_SKIN_WPS);
+ send_event(GUI_EVENT_REFRESH, gwps_enter_wps);
+ wps_sync_data.do_full_update = update = false;
+ }
+ else if (wps_sync_data.do_full_update || update)
{
#if defined(HAVE_BACKLIGHT) || defined(HAVE_REMOTE_LCD)
gwps_caption_backlight(&wps_state);
@@ -1181,23 +1199,6 @@ long gui_wps_show(void)
update = false;
}
- if (restore && wps_state.id3 &&
- ((restoretimer == RESTORE_WPS_INSTANTLY) ||
- TIME_AFTER(current_tick, restoretimer)))
- {
- restore = false;
- restoretimer = RESTORE_WPS_INSTANTLY;
-#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP)
- add_event(LCD_EVENT_ACTIVATION, false, wps_lcd_activation_hook);
-#endif
- /* we remove the update delay since it's not very usable in the wps,
- * e.g. during volume changing or ffwd/rewind */
- sb_skin_set_update_delay(0);
- FOR_NB_SCREENS(i)
- gui_wps[i].display->backdrop_show(BACKDROP_SKIN_WPS);
- send_event(GUI_EVENT_REFRESH, gwps_enter_wps);
- }
-
if (exit) {
#ifdef HAVE_LCD_CHARCELLS
status_set_record(false);