diff options
author | Miika Pekkarinen <miipekk@ihme.org> | 2006-09-23 10:29:14 +0000 |
---|---|---|
committer | Miika Pekkarinen <miipekk@ihme.org> | 2006-09-23 10:29:14 +0000 |
commit | 6ee82e702c45308c2123656af6a6f0398962bd47 (patch) | |
tree | 0dc80af8c22ca13f16edee59d2bbd54206e98705 /apps/misc.c | |
parent | cbe4427a0a2cf219a8b6578c662c5135c07d1af1 (diff) | |
download | rockbox-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.c | 8 |
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 | ||