mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-10-14 18:47:39 -04:00
Playlist Catalogue: fix: "Save Current Playlist" may fail silently
- After rebooting, unless the current playlist had been manually resumed already, the "Save Current Playlist" option in the root menu's/ playlist catalogue's context menu failed to work. - Eliminate error message attempting to view current playlist when no control file present. Change-Id: I58f1d3dc6f256fcee106ff5a17f69fa46d67b2e4
This commit is contained in:
parent
897a96996b
commit
e5c9846cb4
3 changed files with 17 additions and 1 deletions
|
@ -48,6 +48,21 @@ int save_playlist_screen(struct playlist_info* playlist)
|
||||||
|
|
||||||
char temp[MAX_PATH+1], *p;
|
char temp[MAX_PATH+1], *p;
|
||||||
int len;
|
int len;
|
||||||
|
bool audio_stopped = !(audio_status() & AUDIO_STATUS_PLAY);
|
||||||
|
|
||||||
|
/* After a reboot, we may need to resume the playlist
|
||||||
|
first, or it will not contain any indices when
|
||||||
|
user selects "Save Current Playlist" from 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)
|
||||||
|
{
|
||||||
|
splash(HZ, ID2P(LANG_CATALOG_NO_PLAYLISTS));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
catalog_get_directory(directoryonly, sizeof(directoryonly));
|
catalog_get_directory(directoryonly, sizeof(directoryonly));
|
||||||
playlist_get_name(playlist, temp, sizeof(temp)-1);
|
playlist_get_name(playlist, temp, sizeof(temp)-1);
|
||||||
|
|
|
@ -2048,6 +2048,7 @@ struct playlist_info* playlist_load(const char* dir, const char* file,
|
||||||
{
|
{
|
||||||
playlist->max_playlist_size = current_playlist.max_playlist_size;
|
playlist->max_playlist_size = current_playlist.max_playlist_size;
|
||||||
playlist->indices = current_playlist.indices;
|
playlist->indices = current_playlist.indices;
|
||||||
|
current_playlist.started = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
new_playlist_unlocked(playlist, dir, file);
|
new_playlist_unlocked(playlist, dir, file);
|
||||||
|
|
|
@ -387,7 +387,7 @@ static bool playlist_viewer_init(struct playlist_viewer * viewer,
|
||||||
if (!filename && !is_playing)
|
if (!filename && !is_playing)
|
||||||
{
|
{
|
||||||
/* Try to restore the list from control file */
|
/* Try to restore the list from control file */
|
||||||
if (playlist_resume() == -1)
|
if (!file_exists(PLAYLIST_CONTROL_FILE) || playlist_resume() == -1)
|
||||||
{
|
{
|
||||||
/* Nothing to view, exit */
|
/* Nothing to view, exit */
|
||||||
splash(HZ, ID2P(LANG_CATALOG_NO_PLAYLISTS));
|
splash(HZ, ID2P(LANG_CATALOG_NO_PLAYLISTS));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue