diff --git a/apps/menus/playlist_menu.c b/apps/menus/playlist_menu.c index 4e01b29103..a4d91ceb10 100644 --- a/apps/menus/playlist_menu.c +++ b/apps/menus/playlist_menu.c @@ -56,7 +56,7 @@ int save_playlist_screen(struct playlist_info* playlist) catalogue's context menu in root menu */ if (!playlist && audio_stopped && !playlist_get_current()->started) { - if (!file_exists(PLAYLIST_CONTROL_FILE) || playlist_resume() == -1) + if (playlist_resume() == -1) { splash(HZ, ID2P(LANG_CATALOG_NO_PLAYLISTS)); return 0; diff --git a/apps/playlist.c b/apps/playlist.c index 5a9027fd9d..a33c19a1e4 100644 --- a/apps/playlist.c +++ b/apps/playlist.c @@ -3176,6 +3176,9 @@ int playlist_resume(void) empty_playlist_unlocked(playlist, true); + if (!file_exists(playlist->control_filename)) + goto out; + playlist->control_fd = open(playlist->control_filename, O_RDWR); if (playlist->control_fd < 0) { diff --git a/apps/playlist_viewer.c b/apps/playlist_viewer.c index 4426d0da81..3cb1047583 100644 --- a/apps/playlist_viewer.c +++ b/apps/playlist_viewer.c @@ -387,7 +387,7 @@ static bool playlist_viewer_init(struct playlist_viewer * viewer, if (!filename && !is_playing) { /* Try to restore the list from control file */ - if (!file_exists(PLAYLIST_CONTROL_FILE) || playlist_resume() == -1) + if (playlist_resume() == -1) { /* Nothing to view, exit */ splash(HZ, ID2P(LANG_CATALOG_NO_PLAYLISTS));