diff options
author | Hardeep Sidhu <dyp@pobox.com> | 2005-07-07 23:50:16 +0000 |
---|---|---|
committer | Hardeep Sidhu <dyp@pobox.com> | 2005-07-07 23:50:16 +0000 |
commit | a6abe760a9c34893135b6d5a46cfb82623e881fb (patch) | |
tree | b75970a95814428bbb357285963e2adaf0c7ad5d | |
parent | c5e87ae1e03b33c34266f6c7fed2cb5b159e0e65 (diff) | |
download | rockbox-a6abe760a9c34893135b6d5a46cfb82623e881fb.tar.gz rockbox-a6abe760a9c34893135b6d5a46cfb82623e881fb.zip |
Only flush and reload when something is playing. Fixes hang on H1x0 when changing repeat mode before anything has played.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7059 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | apps/screens.c | 3 | ||||
-rw-r--r-- | apps/settings_menu.c | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/apps/screens.c b/apps/screens.c index 494acd7e0b..0ff88c6e1e 100644 --- a/apps/screens.c +++ b/apps/screens.c | |||
@@ -738,7 +738,8 @@ bool quick_screen(int context, int button) | |||
738 | { | 738 | { |
739 | case SCREENS_QUICK: | 739 | case SCREENS_QUICK: |
740 | 740 | ||
741 | if ( oldrepeat != global_settings.repeat_mode ) | 741 | if ( oldrepeat != global_settings.repeat_mode && |
742 | (audio_status() & AUDIO_STATUS_PLAY) ) | ||
742 | audio_flush_and_reload_tracks(); | 743 | audio_flush_and_reload_tracks(); |
743 | 744 | ||
744 | break; | 745 | break; |
diff --git a/apps/settings_menu.c b/apps/settings_menu.c index 249da8a17d..5927635d0e 100644 --- a/apps/settings_menu.c +++ b/apps/settings_menu.c | |||
@@ -595,7 +595,8 @@ static bool repeat_mode(void) | |||
595 | result = set_option( str(LANG_REPEAT), &global_settings.repeat_mode, | 595 | result = set_option( str(LANG_REPEAT), &global_settings.repeat_mode, |
596 | INT, names, 4, NULL ); | 596 | INT, names, 4, NULL ); |
597 | 597 | ||
598 | if (old_repeat != global_settings.repeat_mode) | 598 | if (old_repeat != global_settings.repeat_mode && |
599 | (audio_status() & AUDIO_STATUS_PLAY)) | ||
599 | audio_flush_and_reload_tracks(); | 600 | audio_flush_and_reload_tracks(); |
600 | 601 | ||
601 | return result; | 602 | return result; |