diff options
author | Jens Arnold <amiconn@rockbox.org> | 2007-04-22 12:38:11 +0000 |
---|---|---|
committer | Jens Arnold <amiconn@rockbox.org> | 2007-04-22 12:38:11 +0000 |
commit | 5070f41bfce407ec9b050a19777371ee9ae485f2 (patch) | |
tree | 66ba27a681dda907473cf6fd999e410012138ae7 /apps | |
parent | ee80bcaa79bfb30da0860c0ce47dbc6b7f4c0ed7 (diff) | |
download | rockbox-5070f41bfce407ec9b050a19777371ee9ae485f2.tar.gz rockbox-5070f41bfce407ec9b050a19777371ee9ae485f2.zip |
Consolidated several potential places of return from WPS into one. Fixes the 'Return from WPS at end of playlist always brings up the root menu.' bug on hwcodec.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13241 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r-- | apps/gui/gwps.c | 38 |
1 files changed, 16 insertions, 22 deletions
diff --git a/apps/gui/gwps.c b/apps/gui/gwps.c index 0819d122f5..ed653a8535 100644 --- a/apps/gui/gwps.c +++ b/apps/gui/gwps.c | |||
@@ -614,15 +614,26 @@ long gui_wps_show(void) | |||
614 | FOR_NB_SCREENS(i) | 614 | FOR_NB_SCREENS(i) |
615 | { | 615 | { |
616 | if(update(&gui_wps[i])) | 616 | if(update(&gui_wps[i])) |
617 | update_failed = true; | 617 | exit = true; |
618 | } | ||
619 | if (update_failed) | ||
620 | { | ||
621 | return GO_TO_ROOT; | ||
622 | } | 618 | } |
623 | update_track = false; | 619 | update_track = false; |
624 | } | 620 | } |
625 | 621 | ||
622 | if (restore && | ||
623 | ((restoretimer == 0) || | ||
624 | (restoretimer < current_tick))) | ||
625 | { | ||
626 | restore = false; | ||
627 | restoretimer = 0; | ||
628 | if (gui_wps_display()) { | ||
629 | exit = true; | ||
630 | } | ||
631 | else if (wps_state.id3){ | ||
632 | FOR_NB_SCREENS(i) | ||
633 | gui_wps_refresh(&gui_wps[i], 0, WPS_REFRESH_NON_STATIC); | ||
634 | } | ||
635 | } | ||
636 | |||
626 | if (exit) { | 637 | if (exit) { |
627 | action_signalscreenchange(); | 638 | action_signalscreenchange(); |
628 | #ifdef HAVE_LCD_CHARCELLS | 639 | #ifdef HAVE_LCD_CHARCELLS |
@@ -646,23 +657,6 @@ long gui_wps_show(void) | |||
646 | 657 | ||
647 | if ( button ) | 658 | if ( button ) |
648 | ata_spin(); | 659 | ata_spin(); |
649 | |||
650 | if (restore && | ||
651 | ((restoretimer == 0) || | ||
652 | (restoretimer < current_tick))) | ||
653 | { | ||
654 | restore = false; | ||
655 | restoretimer = 0; | ||
656 | if (gui_wps_display()) | ||
657 | { | ||
658 | return GO_TO_ROOT; | ||
659 | } | ||
660 | |||
661 | if (wps_state.id3){ | ||
662 | FOR_NB_SCREENS(i) | ||
663 | gui_wps_refresh(&gui_wps[i], 0, WPS_REFRESH_NON_STATIC); | ||
664 | } | ||
665 | } | ||
666 | } | 660 | } |
667 | return GO_TO_ROOT; /* unreachable - just to reduce compiler warnings */ | 661 | return GO_TO_ROOT; /* unreachable - just to reduce compiler warnings */ |
668 | } | 662 | } |