Monotone-Parent: 918d650595c58f2ee59ce861c37907edceb28aa7

Monotone-Revision: 06454d6f51cf228398d63d36b7e74eaac7080cc2

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2012-02-29T04:15:42
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Wolfgang Sourdeau 2012-02-29 04:15:42 +00:00
parent 351d3c72e8
commit bf2a6636c1
2 changed files with 19 additions and 1 deletions

View File

@ -1,5 +1,11 @@
2012-02-28 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* OpenChange/MAPIStoreMailFolder.m
(-moveCopyMessagesWithMIDs:andCount:fromFolder:withMIDs:andChangeKeys:wantCopy:):
we sync the version cache with the folder in order to update the
target message change keys, which was causing versioning issues
with Outlook 2010.
* OpenChange/gen-property-selectors.py: bannedProps is now an
array instead of a dict of "True" values.
Added "PrOabContainerGuid" to bannedProps.

View File

@ -902,7 +902,7 @@ _parseCOPYUID (NSString *line, NSArray **destUIDsP)
{
NGImap4Connection *connection;
NGImap4Client *client;
NSString *sourceFolderName, *targetFolderName, *messageURL, *v;
NSString *sourceFolderName, *targetFolderName, *messageURL, *messageKey, *v;
NSMutableArray *uids, *oldMessageURLs;
NSNumber *uid;
NSArray *destUIDs;
@ -910,6 +910,7 @@ _parseCOPYUID (NSString *line, NSArray **destUIDsP)
NSDictionary *result;
NSUInteger count;
NSArray *a;
NSData *changeKey;
if (![sourceFolder isKindOfClass: [MAPIStoreMailFolder class]])
return [super moveCopyMessagesWithMIDs: srcMids andCount: midCount
@ -989,6 +990,17 @@ _parseCOPYUID (NSString *line, NSArray **destUIDsP)
[mapping registerURL: messageURL withID: targetMids[count]];
}
/* Update the change keys */
[self synchroniseCache];
for (count = 0; count < midCount; count++)
{
changeKey = [NSData dataWithBinary: targetChangeKeys[count]];
messageKey = [NSString stringWithFormat: @"%@.eml",
[destUIDs objectAtIndex: count]];
[self setChangeKey: changeKey
forMessageWithKey: messageKey];
}
[self postNotificationsForMoveCopyMessagesWithMIDs: srcMids
andMessageURLs: oldMessageURLs
andCount: midCount