Monotone-Parent: 8bcefff481572fc23caa92d92861c18902d781bd

Monotone-Revision: 6d629d88d3b01fa71fac5c998333eed2c61c6232

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2011-10-26T15:15:17
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau
2011-10-26 15:15:17 +00:00
parent 1b696fec7f
commit c6b716ef62
13 changed files with 164 additions and 159 deletions

View File

@@ -352,7 +352,7 @@ Class NSExceptionK, MAPIStoreFAIMessageK, MAPIStoreMessageTableK, MAPIStoreFAIMe
childFolder = [self lookupFolder: folderKey];
if (childFolder)
{
[childFolder setProperties: aRow];
[childFolder addPropertiesFromRow: aRow];
*childFolderPtr = childFolder;
}
else
@@ -628,7 +628,7 @@ Class NSExceptionK, MAPIStoreFAIMessageK, MAPIStoreMessageTableK, MAPIStoreFAIMe
isAssociated: [sourceMsg isKindOfClass: MAPIStoreFAIMessageK]];
if (rc != MAPISTORE_SUCCESS)
goto end;
rc = [destMsg setProperties: aRow];
rc = [destMsg addPropertiesFromRow: aRow];
if (rc != MAPISTORE_SUCCESS)
goto end;
[destMsg save];
@@ -898,7 +898,7 @@ Class NSExceptionK, MAPIStoreFAIMessageK, MAPIStoreMessageTableK, MAPIStoreFAIMe
return rc;
}
- (int) setProperties: (struct SRow *) aRow
- (int) addPropertiesFromRow: (struct SRow *) aRow
{
static enum MAPITAGS bannedProps[] = { PR_MID, PR_FID, PR_PARENT_FID,
PR_SOURCE_KEY, PR_PARENT_SOURCE_KEY,
@@ -906,22 +906,22 @@ Class NSExceptionK, MAPIStoreFAIMessageK, MAPIStoreMessageTableK, MAPIStoreFAIMe
enum MAPITAGS *currentProp;
int rc;
rc = [super setProperties: aRow];
rc = [super addPropertiesFromRow: aRow];
/* TODO: this should no longer be required once mapistore v2 API is in
place, when we can then do this from -dealloc below */
if ([newProperties count] > 0)
if ([properties count] > 0)
{
currentProp = bannedProps;
while (*currentProp)
{
[newProperties removeObjectForKey: MAPIPropertyKey (*currentProp)];
[properties removeObjectForKey: MAPIPropertyKey (*currentProp)];
currentProp++;
}
[propsMessage appendProperties: newProperties];
[propsMessage appendProperties: properties];
[propsMessage save];
[self resetNewProperties];
[self resetProperties];
}
return rc;