Monotone-Parent: 2d84c830169d9e6fc80c66cebbaee3d4903fdb88

Monotone-Revision: 44e710d477fe4c00e417c926d9eecec7dd1a12c1

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2011-02-13T21:53:04
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Wolfgang Sourdeau 2011-02-13 21:53:04 +00:00
parent 54e7721a60
commit 3e652b2f50
2 changed files with 14 additions and 7 deletions

View File

@ -1,3 +1,12 @@
2011-02-13 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* OpenChange/MAPIStoreMailMessageTable.m
(-getChildProperty:forKey:withTag:): enhanced treatment of
PR_BODY_UNICODE to accept text/plain parts when more than one is
available, by selecting the first one only. This requires the
prior detection of text/html parts in order to exclude the
property or not.
2011-02-11 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* OpenChange/MAPIStoreContext.m

View File

@ -331,28 +331,26 @@ static EOQualifier *nonDeletedQualifier = nil;
case PR_BODY_UNICODE:
{
NSMutableArray *keys;
NSArray *acceptedTypes;
child = [self lookupChild: childKey];
acceptedTypes = [NSArray arrayWithObjects: @"text/plain",
@"text/html", nil];
keys = [NSMutableArray array];
[child addRequiredKeysOfStructure: [child bodyStructure]
path: @"" toArray: keys
acceptedTypes: acceptedTypes];
if ([keys count] == 0 || [keys count] == 2)
acceptedTypes: [NSArray arrayWithObject:
@"text/html"]];
if ([keys count] > 0)
{
*data = NULL;
rc = MAPI_E_NOT_FOUND;
}
else
{
acceptedTypes = [NSArray arrayWithObject: @"text/plain"];
[keys removeAllObjects];
[child addRequiredKeysOfStructure: [child bodyStructure]
path: @"" toArray: keys
acceptedTypes: acceptedTypes];
acceptedTypes: [NSArray arrayWithObject:
@"text/plain"]];
if ([keys count] > 0)
{
id result;