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]; - } } }