summaryrefslogtreecommitdiffstats
path: root/libraries/libvmime-zarafa/zarafa-patches/vmime-plain-bodycopy.diff
diff options
context:
space:
mode:
author Niels Horn2010-05-13 00:58:59 +0200
committer Robby Workman2010-05-13 00:58:59 +0200
commiteac700bacbf832b6899d0adeb6ef1ee4acb79967 (patch)
treedc91fa4dcdd229de60979d5946770042beda5adf /libraries/libvmime-zarafa/zarafa-patches/vmime-plain-bodycopy.diff
parent0c91a2e1a8826be4f48cda754fb9a833cd012e66 (diff)
downloadslackbuilds-eac700bacbf832b6899d0adeb6ef1ee4acb79967.tar.gz
libraries/libvmime-zarafa: Added to 13.0 repository
Diffstat (limited to 'libraries/libvmime-zarafa/zarafa-patches/vmime-plain-bodycopy.diff')
-rw-r--r--libraries/libvmime-zarafa/zarafa-patches/vmime-plain-bodycopy.diff21
1 files changed, 21 insertions, 0 deletions
diff --git a/libraries/libvmime-zarafa/zarafa-patches/vmime-plain-bodycopy.diff b/libraries/libvmime-zarafa/zarafa-patches/vmime-plain-bodycopy.diff
new file mode 100644
index 0000000000..6c1795d969
--- /dev/null
+++ b/libraries/libvmime-zarafa/zarafa-patches/vmime-plain-bodycopy.diff
@@ -0,0 +1,21 @@
+--- libvmime-0.7.1.orig/src/messageBuilder.cpp 2009-08-21 15:35:23.708082164 +0200
++++ libvmime-0.7.1/src/messageBuilder.cpp 2009-08-21 15:37:00.400088431 +0200
+@@ -137,6 +137,8 @@
+ if (msg->getBody()->getPartCount() == 1)
+ {
+ const bodyPart& part = *msg->getBody()->getPartAt(0);
++ // make a full copy of the body, otherwise the copyFrom will delete the body we're copying
++ const body* bodyCopy = part.getBody()->clone();
+
+ // First, copy (and replace) the header fields
+ const std::vector <const headerField*> fields = part.getHeader()->getFieldList();
+@@ -149,7 +151,8 @@
+
+ // Second, copy the body contents and sub-parts (this also remove
+ // the body part we are copying...)
+- msg->getBody()->copyFrom(*part.getBody());
++ msg->getBody()->copyFrom(*bodyCopy);
++ delete bodyCopy;
+ }
+
+ return (msg);