summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorHardeep Sidhu <dyp@pobox.com>2005-07-07 23:50:16 +0000
committerHardeep Sidhu <dyp@pobox.com>2005-07-07 23:50:16 +0000
commita6abe760a9c34893135b6d5a46cfb82623e881fb (patch)
treeb75970a95814428bbb357285963e2adaf0c7ad5d /apps
parentc5e87ae1e03b33c34266f6c7fed2cb5b159e0e65 (diff)
downloadrockbox-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
Diffstat (limited to 'apps')
-rw-r--r--apps/screens.c3
-rw-r--r--apps/settings_menu.c3
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)
{
case SCREENS_QUICK:
- if ( oldrepeat != global_settings.repeat_mode )
+ if ( oldrepeat != global_settings.repeat_mode &&
+ (audio_status() & AUDIO_STATUS_PLAY) )
audio_flush_and_reload_tracks();
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)
result = set_option( str(LANG_REPEAT), &global_settings.repeat_mode,
INT, names, 4, NULL );
- if (old_repeat != global_settings.repeat_mode)
+ if (old_repeat != global_settings.repeat_mode &&
+ (audio_status() & AUDIO_STATUS_PLAY))
audio_flush_and_reload_tracks();
return result;