summaryrefslogtreecommitdiffstats
path: root/core/command.c
diff options
context:
space:
mode:
Diffstat (limited to 'core/command.c')
-rw-r--r--core/command.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/core/command.c b/core/command.c
index 66198de166..095e50f4a2 100644
--- a/core/command.c
+++ b/core/command.c
@@ -1945,14 +1945,16 @@ void run_command(MPContext *mpctx, mp_cmd_t *cmd)
char *filename = cmd->args[0].v.s;
bool append = cmd->args[1].v.i;
struct playlist *pl = playlist_parse_file(filename);
- if (!pl) {
+ if (pl) {
if (!append)
playlist_clear(mpctx->playlist);
playlist_transfer_entries(mpctx->playlist, pl);
talloc_free(pl);
- if (!append)
- mpctx->stop_play = PT_NEXT_ENTRY;
+ if (!append) {
+ mpctx->playlist->current = mpctx->playlist->first;
+ mpctx->stop_play = PT_CURRENT_ENTRY;
+ }
} else {
mp_tmsg(MSGT_CPLAYER, MSGL_ERR,
"\nUnable to load playlist %s.\n", filename);