diff options
-rw-r--r-- | src/player.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/player.c b/src/player.c index dac7b59a4..e0d8ee93f 100644 --- a/src/player.c +++ b/src/player.c @@ -465,10 +465,9 @@ Song * playerCurrentDecodeSong() { DecoderControl * dc = &(getPlayerData()->decoderControl); if(dc->metadataSet && (!song || strcmp(song->utf8url, dc->utf8url))) { - if(!song) { - song = newNullSong(); - song->tag = newMpdTag(); - } + if(song) freeJustSong(song); + song = newNullSong(); + song->tag = newMpdTag(); if(song->utf8url) free(song->utf8url); song->utf8url = strdup(dc->utf8url); if(dc->title >= 0) { |