aboutsummaryrefslogtreecommitdiffstats
path: root/src/Song.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/Song.cxx')
-rw-r--r--src/Song.cxx8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/Song.cxx b/src/Song.cxx
index 90ddcf518..023d52071 100644
--- a/src/Song.cxx
+++ b/src/Song.cxx
@@ -20,11 +20,12 @@
#include "config.h"
#include "Song.hxx"
#include "Directory.hxx"
-#include "tag.h"
+#include "Tag.hxx"
#include <glib.h>
#include <assert.h>
+#include <string.h>
Directory detached_root;
@@ -94,7 +95,7 @@ Song::DupDetached() const
} else
song = song_alloc(uri, nullptr);
- song->tag = tag_dup(tag);
+ song->tag = tag != nullptr ? new Tag(*tag) : nullptr;
song->mtime = mtime;
song->start_ms = start_ms;
song->end_ms = end_ms;
@@ -105,8 +106,7 @@ Song::DupDetached() const
void
Song::Free()
{
- if (tag != nullptr)
- tag_free(tag);
+ delete tag;
g_free(this);
}