summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/misc.c4
-rw-r--r--apps/tree.c3
2 files changed, 3 insertions, 4 deletions
diff --git a/apps/misc.c b/apps/misc.c
index 02d8bed..9559b0c 100644
--- a/apps/misc.c
+++ b/apps/misc.c
@@ -620,6 +620,8 @@ bool settings_parseline(char* line, char** name, char** value)
static void system_flush(void)
{
+ scrobbler_shutdown();
+ playlist_shutdown();
tree_flush();
call_storage_idle_notifys(true); /*doesnt work on usb and shutdown from ata thread */
}
@@ -627,6 +629,7 @@ static void system_flush(void)
static void system_restore(void)
{
tree_restore();
+ scrobbler_init();
}
static bool clean_shutdown(void (*callback)(void *), void *parameter)
@@ -915,7 +918,6 @@ long default_event_handler_ex(long event, void (*callback)(void *), void *parame
(mmc_remove_request() == SYS_HOTSWAP_EXTRACTED))
#endif
{
- scrobbler_flush_cache();
system_flush();
#ifdef BOOTFILE
#if !defined(USB_NONE) && !defined(USB_IPODSTYLE)
diff --git a/apps/tree.c b/apps/tree.c
index dbc47e3..a3765d7 100644
--- a/apps/tree.c
+++ b/apps/tree.c
@@ -1085,11 +1085,9 @@ static void ft_play_filename(char *dir, char *file)
/* These two functions are called by the USB and shutdown handlers */
void tree_flush(void)
{
- scrobbler_shutdown();
#ifdef HAVE_TAGCACHE
tagcache_shutdown();
#endif
- playlist_shutdown();
#ifdef HAVE_TC_RAMCACHE
tagcache_unload_ramcache();
@@ -1141,5 +1139,4 @@ void tree_restore(void)
#ifdef HAVE_TAGCACHE
tagcache_start_scan();
#endif
- scrobbler_init();
}