summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/tag/Builder.cxx7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/tag/Builder.cxx b/src/tag/Builder.cxx
index 76b404499..e5e380399 100644
--- a/src/tag/Builder.cxx
+++ b/src/tag/Builder.cxx
@@ -78,11 +78,14 @@ TagBuilder::operator=(const TagBuilder &other) noexcept
TagBuilder &
TagBuilder::operator=(TagBuilder &&other) noexcept
{
+ using std::swap;
+
duration = other.duration;
has_playlist = other.has_playlist;
- RemoveAll();
- items = std::move(other.items);
+ /* swap the two TagItem lists so we don't need to touch the
+ tag pool just yet */
+ swap(items, other.items);
return *this;
}