diff options
author | Daniel Stenberg <daniel@haxx.se> | 2002-08-23 08:06:39 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2002-08-23 08:06:39 +0000 |
commit | e6261734a025cd9053004ded80e06d2d9401d2e3 (patch) | |
tree | 4ed5a21c88c3a6e44ecee3b78a1a3114a8243b3d | |
parent | 57392acd18468a4530a63d379cc7534b2640e6b3 (diff) | |
download | rockbox-e6261734a025cd9053004ded80e06d2d9401d2e3.tar.gz rockbox-e6261734a025cd9053004ded80e06d2d9401d2e3.zip |
two fixes at once:
1. If the WPS is popped up but the mpeg thread can't play any song, we must
make sure to update the screen to display the "end of playlist" thing.
2. When having reached the "end of playlist" state, pressing LEFT caused a
crash (due to a NULL pointer being used).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1942 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | apps/wps.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/apps/wps.c b/apps/wps.c index 6445b6bbf7..f2e90f397f 100644 --- a/apps/wps.c +++ b/apps/wps.c | |||
@@ -589,6 +589,7 @@ int wps_show(void) | |||
589 | int button; | 589 | int button; |
590 | int ff_rewind_count = 0; | 590 | int ff_rewind_count = 0; |
591 | bool ignore_keyup = true; | 591 | bool ignore_keyup = true; |
592 | bool restore = false; | ||
592 | 593 | ||
593 | old_release_mask = button_set_release(RELEASE_MASK); | 594 | old_release_mask = button_set_release(RELEASE_MASK); |
594 | 595 | ||
@@ -609,11 +610,13 @@ int wps_show(void) | |||
609 | id3 = mpeg_current_track(); | 610 | id3 = mpeg_current_track(); |
610 | draw_screen(id3); | 611 | draw_screen(id3); |
611 | } | 612 | } |
613 | else if(!id3) | ||
614 | { | ||
615 | restore = true; | ||
616 | } | ||
612 | 617 | ||
613 | while ( 1 ) | 618 | while ( 1 ) |
614 | { | 619 | { |
615 | bool restore = false; | ||
616 | |||
617 | button = button_get_w_tmo(HZ/5); | 620 | button = button_get_w_tmo(HZ/5); |
618 | 621 | ||
619 | /* discard first event if it's a button release */ | 622 | /* discard first event if it's a button release */ |
@@ -814,7 +817,7 @@ int wps_show(void) | |||
814 | else | 817 | else |
815 | #endif | 818 | #endif |
816 | { | 819 | { |
817 | if (id3->elapsed < 3*1000) | 820 | if (!id3 || (id3->elapsed < 3*1000)) |
818 | mpeg_prev(); | 821 | mpeg_prev(); |
819 | else { | 822 | else { |
820 | mpeg_pause(); | 823 | mpeg_pause(); |