From f0488607299e7941be4315ad1407ab125b6b7032 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Enrique=20J=2E=20Hern=C3=A1ndez=20Blasco?= Date: Fri, 13 Mar 2015 00:00:40 +0100 Subject: [PATCH] Revert "oc-mailfolder: Avoid setting seen flag on preloading message bodies" This reverts commit 7e0cddc06bc520c8eefe1b9190e92443853a15bc. --- OpenChange/MAPIStoreMailFolder.m | 31 +------------------------------ 1 file changed, 1 insertion(+), 30 deletions(-) diff --git a/OpenChange/MAPIStoreMailFolder.m b/OpenChange/MAPIStoreMailFolder.m index e4c4b8a9b..43f8e4d25 100644 --- a/OpenChange/MAPIStoreMailFolder.m +++ b/OpenChange/MAPIStoreMailFolder.m @@ -1476,10 +1476,8 @@ _parseCOPYUID (NSString *line, NSArray **destUIDsP) NSUInteger count, max; NSString *messageKey, *messageUid, *bodyPartKey; NGImap4Client *client; - NSArray *fetch, *flags; + NSArray *fetch; NSData *bodyContent; - BOOL unseen; - NSMutableArray *unseenUIDs; if (tableType == MAPISTORE_MESSAGE_TABLE) { @@ -1509,25 +1507,6 @@ _parseCOPYUID (NSString *line, NSArray **destUIDsP) client = [[(SOGoMailFolder *) sogoObject imap4Connection] client]; [client select: [sogoObject absoluteImap4Name]]; - - /* Fetch flags to remove seen flag if required, - as fetching a message body set the seen flag */ - response = [client fetchUids: [keyAssoc allKeys] - parts: [NSArray arrayWithObjects: @"flags", nil]]; - fetch = [response objectForKey: @"fetch"]; - max = [fetch count]; - unseenUIDs = [NSMutableArray arrayWithCapacity: max]; - for (count = 0; count < max; count++) - { - response = [fetch objectAtIndex: count]; - messageUid = [[response objectForKey: @"uid"] stringValue]; - flags = [response objectForKey: @"flags"]; - unseen = [flags indexOfObject: @"seen"] == NSNotFound; - if (unseen) { - [unseenUIDs addObject: messageUid]; - } - } - response = [client fetchUids: [keyAssoc allKeys] parts: [bodyPartKeys allObjects]]; fetch = [response objectForKey: @"fetch"]; @@ -1549,14 +1528,6 @@ _parseCOPYUID (NSString *line, NSArray **destUIDsP) } } } - - // Restore unseen state once the body has been fetched - if ([unseenUIDs count] > 0) - { - response = [client storeFlags: [NSArray arrayWithObjects: @"seen", nil] - forUIDs: unseenUIDs - addOrRemove: NO]; - } } }