diff options
Diffstat (limited to 'apps/playlist_viewer.c')
-rw-r--r-- | apps/playlist_viewer.c | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/apps/playlist_viewer.c b/apps/playlist_viewer.c index 6c80b373a9..e3faf4b68f 100644 --- a/apps/playlist_viewer.c +++ b/apps/playlist_viewer.c | |||
@@ -820,7 +820,10 @@ enum playlist_viewer_result playlist_viewer_ex(const char* filename) | |||
820 | struct gui_synclist playlist_lists; | 820 | struct gui_synclist playlist_lists; |
821 | 821 | ||
822 | if (!open_playlist_viewer(filename, &playlist_lists, false)) | 822 | if (!open_playlist_viewer(filename, &playlist_lists, false)) |
823 | { | ||
824 | ret = PLAYLIST_VIEWER_CANCEL; | ||
823 | goto exit; | 825 | goto exit; |
826 | } | ||
824 | 827 | ||
825 | while (!exit) | 828 | while (!exit) |
826 | { | 829 | { |
@@ -958,10 +961,17 @@ enum playlist_viewer_result playlist_viewer_ex(const char* filename) | |||
958 | else if (pv_onplay_result == PV_ONPLAY_CLOSED) | 961 | else if (pv_onplay_result == PV_ONPLAY_CLOSED) |
959 | { | 962 | { |
960 | if (!open_playlist_viewer(filename, &playlist_lists, true)) | 963 | if (!open_playlist_viewer(filename, &playlist_lists, true)) |
964 | { | ||
965 | ret = PLAYLIST_VIEWER_CANCEL; | ||
961 | goto exit; | 966 | goto exit; |
967 | } | ||
962 | break; | 968 | break; |
963 | } | 969 | } |
964 | exit = update_viewer_with_changes(&playlist_lists, pv_onplay_result); | 970 | if (update_viewer_with_changes(&playlist_lists, pv_onplay_result)) |
971 | { | ||
972 | exit = true; | ||
973 | ret = PLAYLIST_VIEWER_CANCEL; | ||
974 | } | ||
965 | break; | 975 | break; |
966 | } | 976 | } |
967 | case ACTION_STD_MENU: | 977 | case ACTION_STD_MENU: |
@@ -996,7 +1006,10 @@ enum playlist_viewer_result playlist_viewer_ex(const char* filename) | |||
996 | if (do_plugin(current_track) == PV_ONPLAY_USB_CLOSED) | 1006 | if (do_plugin(current_track) == PV_ONPLAY_USB_CLOSED) |
997 | return PLAYLIST_VIEWER_USB; | 1007 | return PLAYLIST_VIEWER_USB; |
998 | else if (!open_playlist_viewer(filename, &playlist_lists, true)) | 1008 | else if (!open_playlist_viewer(filename, &playlist_lists, true)) |
1009 | { | ||
1010 | ret = PLAYLIST_VIEWER_CANCEL; | ||
999 | goto exit; | 1011 | goto exit; |
1012 | } | ||
1000 | } | 1013 | } |
1001 | else if (global_settings.hotkey_tree == HOTKEY_PROPERTIES) | 1014 | else if (global_settings.hotkey_tree == HOTKEY_PROPERTIES) |
1002 | { | 1015 | { |
@@ -1008,10 +1021,16 @@ enum playlist_viewer_result playlist_viewer_ex(const char* filename) | |||
1008 | update_lists(&playlist_lists); | 1021 | update_lists(&playlist_lists); |
1009 | } | 1022 | } |
1010 | else if (global_settings.hotkey_tree == HOTKEY_DELETE) | 1023 | else if (global_settings.hotkey_tree == HOTKEY_DELETE) |
1011 | exit = update_viewer_with_changes(&playlist_lists, | 1024 | { |
1025 | if (update_viewer_with_changes(&playlist_lists, | ||
1012 | delete_track(current_track->index, | 1026 | delete_track(current_track->index, |
1013 | viewer.selected_track, | 1027 | viewer.selected_track, |
1014 | (current_track->index == viewer.current_playing_track))); | 1028 | (current_track->index == viewer.current_playing_track)))) |
1029 | { | ||
1030 | ret = PLAYLIST_VIEWER_CANCEL; | ||
1031 | exit = true; | ||
1032 | } | ||
1033 | } | ||
1015 | else | 1034 | else |
1016 | onplay(current_track->name, FILE_ATTR_AUDIO, CONTEXT_STD, true); | 1035 | onplay(current_track->name, FILE_ATTR_AUDIO, CONTEXT_STD, true); |
1017 | break; | 1036 | break; |