aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/player.c7
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) {