From 9a50d18d156a5a480ffc1448f4bde17a11792192 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Mon, 26 Sep 2011 15:23:36 +0000 Subject: [PATCH] Monotone-Parent: 2a7c6d44bdaf39eb5e6f5274e9d7209f11a3e563 Monotone-Revision: b015c73d47df799fb1f9dc241b015ec5b2153d4b Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2011-09-26T15:23:36 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 4 ++++ OpenChange/MAPIStoreDraftsMessage.m | 20 ++++++++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index b5810d193..e64b2a624 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2011-09-26 Wolfgang Sourdeau + * OpenChange/MAPIStoreDraftsMessage.m (-_commitProperties): make + use of "PR_SUBJECT_PREFIX_UNICODE" and + "PR_NORMALIZED_SUBJECT_UNICODE" to construct the "subject" header. + * OpenChange/MAPIStoreMailMessage.m (-getPrChangeKey:inMemCtx) (-getPrPredecessorChangeList:inMemCtx): when a record is not returned, invoke the container's synchroniseCache method, as was diff --git a/OpenChange/MAPIStoreDraftsMessage.m b/OpenChange/MAPIStoreDraftsMessage.m index b3c8893a4..eeebc5b1a 100644 --- a/OpenChange/MAPIStoreDraftsMessage.m +++ b/OpenChange/MAPIStoreDraftsMessage.m @@ -319,6 +319,7 @@ typedef void (*getMessageData_inMemCtx_) (MAPIStoreMessage *, SEL, NSDictionary *recipients, *identity; NSMutableDictionary *newHeaders; NSString *recId, *body; + NSMutableString *subject; NSUInteger count, max; WOContext *woContext; id value; @@ -353,12 +354,23 @@ e) 0 (NSIntNumber) */ /* save the subject */ - value = [newProperties - objectForKey: MAPIPropertyKey (PR_NORMALIZED_SUBJECT_UNICODE)]; - if (!value) + subject = [NSMutableString stringWithCapacity: 128]; value = [newProperties objectForKey: MAPIPropertyKey (PR_SUBJECT_UNICODE)]; if (value) - [newHeaders setObject: value forKey: @"subject"]; + [subject appendString: value]; + else + { + value = [newProperties + objectForKey: MAPIPropertyKey (PR_SUBJECT_PREFIX_UNICODE)]; + if (value) + [subject appendString: value]; + value = [newProperties + objectForKey: MAPIPropertyKey (PR_NORMALIZED_SUBJECT_UNICODE)]; + if (value) + [subject appendString: value]; + } + if (subject) + [newHeaders setObject: subject forKey: @"subject"]; /* generate a valid from */ woContext = [[self context] woContext];