diff --git a/apps/misc.c b/apps/misc.c index 02d8bed2d8..9559b0c44f 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 dbc47e31b6..a3765d74d3 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(); }