summaryrefslogtreecommitdiff
path: root/apps/misc.c
diff options
context:
space:
mode:
authorMiika Pekkarinen <miipekk@ihme.org>2006-09-23 10:29:14 +0000
committerMiika Pekkarinen <miipekk@ihme.org>2006-09-23 10:29:14 +0000
commit6ee82e702c45308c2123656af6a6f0398962bd47 (patch)
tree0dc80af8c22ca13f16edee59d2bbd54206e98705 /apps/misc.c
parentcbe4427a0a2cf219a8b6578c662c5135c07d1af1 (diff)
downloadrockbox-6ee82e702c45308c2123656af6a6f0398962bd47.tar.gz
rockbox-6ee82e702c45308c2123656af6a6f0398962bd47.zip
Properly shutdown audio playback early and flush system, including not
hanging tagcache. Fixed also tagcache line buffer running out when importing a changelog with very long lines. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11030 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/misc.c')
-rw-r--r--apps/misc.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/apps/misc.c b/apps/misc.c
index 19cee60993..e95c5e5650 100644
--- a/apps/misc.c
+++ b/apps/misc.c
@@ -494,8 +494,6 @@ static bool clean_shutdown(void (*callback)(void *), void *parameter)
494#ifdef X5_BACKLIGHT_SHUTDOWN 494#ifdef X5_BACKLIGHT_SHUTDOWN
495 x5_backlight_shutdown(); 495 x5_backlight_shutdown();
496#endif 496#endif
497 gui_syncsplash(0, true, str(LANG_SHUTTINGDOWN));
498
499 if (!tagcache_prepare_shutdown()) 497 if (!tagcache_prepare_shutdown())
500 { 498 {
501 cancel_shutdown(); 499 cancel_shutdown();
@@ -503,6 +501,12 @@ static bool clean_shutdown(void (*callback)(void *), void *parameter)
503 return false; 501 return false;
504 } 502 }
505 503
504 gui_syncsplash(0, true, str(LANG_SHUTTINGDOWN));
505
506 audio_stop();
507 while (audio_status())
508 sleep(1);
509
506 if (callback != NULL) 510 if (callback != NULL)
507 callback(parameter); 511 callback(parameter);
508 512