From a6abe760a9c34893135b6d5a46cfb82623e881fb Mon Sep 17 00:00:00 2001 From: Hardeep Sidhu Date: Thu, 7 Jul 2005 23:50:16 +0000 Subject: 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 --- apps/screens.c | 3 ++- apps/settings_menu.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'apps') 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; -- cgit v1.2.3