From c21e42814fa7056080ca825e69f3947c7304bd4c Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Thu, 4 Aug 2011 17:23:52 +0000 Subject: [PATCH] Monotone-Parent: 17defa132c3cfd45e785cdc5a3026188676dc5c3 Monotone-Revision: 2a8fb061b8e9b14122e6737e18c8011d5717b81a Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2011-08-04T17:23:52 Monotone-Branch: ca.inverse.sogo --- OpenChange/MAPIStoreDraftsMessage.m | 32 ++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/OpenChange/MAPIStoreDraftsMessage.m b/OpenChange/MAPIStoreDraftsMessage.m index 1c99231d8..f2515c205 100644 --- a/OpenChange/MAPIStoreDraftsMessage.m +++ b/OpenChange/MAPIStoreDraftsMessage.m @@ -167,6 +167,7 @@ typedef void (*getMessageData_inMemCtx_) (MAPIStoreMessage *, SEL, - (int) getPrImportance: (void **) data inMemCtx: (TALLOC_CTX *) memCtx { + int rc; uint32_t v; NSString *s; @@ -186,11 +187,13 @@ typedef void (*getMessageData_inMemCtx_) (MAPIStoreMessage *, SEL, else if ([s hasPrefix: @"5"]) v = 0x0; *data = MAPILongValue (memCtx, v); + + rc = MAPISTORE_SUCCESS; } else - [super getPrImportance: data inMemCtx: memCtx]; + rc = [super getPrImportance: data inMemCtx: memCtx]; - return MAPISTORE_SUCCESS; + return rc; } - (int) getPrMessageFlags: (void **) data @@ -201,8 +204,7 @@ typedef void (*getMessageData_inMemCtx_) (MAPIStoreMessage *, SEL, if ([sogoObject isKindOfClass: SOGoDraftObjectK]) { - if ([[self attachmentKeys] - count] > 0) + if ([[self attachmentKeys] count] > 0) v |= MSGFLAG_HASATTACH; *data = MAPILongValue (memCtx, v); @@ -504,9 +506,25 @@ e) - (NSString *) subject { - return ([sogoObject isKindOfClass: SOGoDraftObjectK] - ? [[sogoObject headers] objectForKey: @"subject"] - : [super subject]); + NSString *subject; + + if ([sogoObject isKindOfClass: SOGoDraftObjectK]) + { + subject = [newProperties objectForKey: MAPIPropertyKey (PR_SUBJECT_UNICODE)]; + if (!subject) + { + if (!headerSetup) + { + [sogoObject fetchInfo]; + headerSetup = YES; + } + subject = [[sogoObject headers] objectForKey: @"subject"]; + } + } + else + subject = [super subject]; + + return subject; } - (NSCalendarDate *) creationTime