diff options
Diffstat (limited to 'apps/gui/gwps.c')
-rw-r--r-- | apps/gui/gwps.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/apps/gui/gwps.c b/apps/gui/gwps.c index 7bf676263c..89b8bf1960 100644 --- a/apps/gui/gwps.c +++ b/apps/gui/gwps.c | |||
@@ -172,18 +172,20 @@ void gwps_fix_statusbars(void) | |||
172 | 172 | ||
173 | static void gwps_leave_wps(void) | 173 | static void gwps_leave_wps(void) |
174 | { | 174 | { |
175 | int oldbars = VP_SB_HIDE_ALL; | 175 | int i, oldbars = VP_SB_HIDE_ALL; |
176 | 176 | ||
177 | FOR_NB_SCREENS(i) | ||
178 | gui_wps[i].display->stop_scroll(); | ||
177 | if (global_settings.statusbar) | 179 | if (global_settings.statusbar) |
178 | oldbars = VP_SB_ALLSCREENS; | 180 | oldbars = VP_SB_ALLSCREENS; |
179 | 181 | ||
180 | viewportmanager_set_statusbar(oldbars); | ||
181 | #if LCD_DEPTH > 1 | 182 | #if LCD_DEPTH > 1 |
182 | show_main_backdrop(); | 183 | show_main_backdrop(); |
183 | #endif | 184 | #endif |
184 | #if defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1 | 185 | #if defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1 |
185 | show_remote_main_backdrop(); | 186 | show_remote_main_backdrop(); |
186 | #endif | 187 | #endif |
188 | viewportmanager_set_statusbar(oldbars); | ||
187 | } | 189 | } |
188 | 190 | ||
189 | /* The WPS can be left in two ways: | 191 | /* The WPS can be left in two ways: |
@@ -207,7 +209,6 @@ long gui_wps_show(void) | |||
207 | long last_left = 0, last_right = 0; | 209 | long last_left = 0, last_right = 0; |
208 | 210 | ||
209 | wps_state_init(); | 211 | wps_state_init(); |
210 | gwps_fix_statusbars(); | ||
211 | 212 | ||
212 | #ifdef HAVE_LCD_CHARCELLS | 213 | #ifdef HAVE_LCD_CHARCELLS |
213 | status_set_audio(true); | 214 | status_set_audio(true); |
@@ -221,6 +222,7 @@ long gui_wps_show(void) | |||
221 | #if defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1 | 222 | #if defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1 |
222 | show_remote_wps_backdrop(); | 223 | show_remote_wps_backdrop(); |
223 | #endif | 224 | #endif |
225 | gwps_fix_statusbars(); | ||
224 | 226 | ||
225 | #ifdef AB_REPEAT_ENABLE | 227 | #ifdef AB_REPEAT_ENABLE |
226 | ab_repeat_init(); | 228 | ab_repeat_init(); |
@@ -232,7 +234,10 @@ long gui_wps_show(void) | |||
232 | wps_state.nid3 = audio_next_track(); | 234 | wps_state.nid3 = audio_next_track(); |
233 | if (wps_state.id3) { | 235 | if (wps_state.id3) { |
234 | if (gui_wps_display()) | 236 | if (gui_wps_display()) |
237 | { | ||
238 | gwps_leave_wps(); | ||
235 | return 0; | 239 | return 0; |
240 | } | ||
236 | } | 241 | } |
237 | 242 | ||
238 | restore = true; | 243 | restore = true; |
@@ -351,8 +356,7 @@ long gui_wps_show(void) | |||
351 | status_set_record(false); | 356 | status_set_record(false); |
352 | status_set_audio(false); | 357 | status_set_audio(false); |
353 | #endif | 358 | #endif |
354 | FOR_NB_SCREENS(i) | 359 | gwps_leave_wps(); |
355 | gui_wps[i].display->stop_scroll(); | ||
356 | return GO_TO_PREVIOUS_BROWSER; | 360 | return GO_TO_PREVIOUS_BROWSER; |
357 | break; | 361 | break; |
358 | 362 | ||
@@ -578,8 +582,7 @@ long gui_wps_show(void) | |||
578 | break; | 582 | break; |
579 | /* menu key functions */ | 583 | /* menu key functions */ |
580 | case ACTION_WPS_MENU: | 584 | case ACTION_WPS_MENU: |
581 | FOR_NB_SCREENS(i) | 585 | gwps_leave_wps(); |
582 | gui_wps[i].display->stop_scroll(); | ||
583 | return GO_TO_ROOT; | 586 | return GO_TO_ROOT; |
584 | break; | 587 | break; |
585 | 588 | ||
@@ -707,8 +710,6 @@ long gui_wps_show(void) | |||
707 | if (global_settings.fade_on_stop) | 710 | if (global_settings.fade_on_stop) |
708 | fade(false, true); | 711 | fade(false, true); |
709 | 712 | ||
710 | FOR_NB_SCREENS(i) | ||
711 | gui_wps[i].display->stop_scroll(); | ||
712 | if (bookmark) | 713 | if (bookmark) |
713 | bookmark_autobookmark(); | 714 | bookmark_autobookmark(); |
714 | audio_stop(); | 715 | audio_stop(); |