From fc7bf8f1b0cf2dfd06dbd7ababe5b5fca1153540 Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Wed, 11 Dec 2013 07:55:17 -0800 Subject: [PATCH] Fix AssAttachment::Clone --- aegisub/src/ass_attachment.cpp | 11 ++++++++--- aegisub/src/ass_attachment.h | 1 + 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/aegisub/src/ass_attachment.cpp b/aegisub/src/ass_attachment.cpp index cd500ed43..a5b06dfb7 100644 --- a/aegisub/src/ass_attachment.cpp +++ b/aegisub/src/ass_attachment.cpp @@ -25,6 +25,13 @@ #include #include +AssAttachment::AssAttachment(AssAttachment const& rgt) +: entry_data(rgt.entry_data) +, filename(rgt.filename) +, group(rgt.group) +{ +} + AssAttachment::AssAttachment(std::string const& header, AssEntryGroup group) : entry_data(header + "\r\n") , filename(header.substr(10)) @@ -53,9 +60,7 @@ AssAttachment::AssAttachment(agi::fs::path const& name, AssEntryGroup group) } AssEntry *AssAttachment::Clone() const { - auto clone = new AssAttachment(filename, group); - clone->entry_data = entry_data; - return clone; + return new AssAttachment(*this); } const std::string AssAttachment::GetEntryData() const { diff --git a/aegisub/src/ass_attachment.h b/aegisub/src/ass_attachment.h index aaba6d2cc..142b01441 100644 --- a/aegisub/src/ass_attachment.h +++ b/aegisub/src/ass_attachment.h @@ -50,6 +50,7 @@ public: AssEntryGroup Group() const override { return group; } AssEntry *Clone() const override; + AssAttachment(AssAttachment const& rgt); AssAttachment(std::string const& header, AssEntryGroup group); AssAttachment(agi::fs::path const& name, AssEntryGroup group); };