Monotone-Parent: b76df21b12b927a0f3947b610200a0571cb5d9f1

Monotone-Revision: 46ee9065aaede905dab99601d89e7e2056ff0afd

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2011-09-24T00:13:06
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Wolfgang Sourdeau 2011-09-24 00:13:06 +00:00
parent ed1b687f91
commit 5a8de78e49
2 changed files with 29 additions and 3 deletions

View File

@ -1,5 +1,10 @@
2011-09-23 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* OpenChange/MAPIStoreMailMessage.m (-getPrChangeKey:inMemCtx)
(-getPrPredecessorChangeList:inMemCtx): when a record is not
returned, invoke the container's synchroniseCache method, as was
done in -objectVersion.
* OpenChange/MAPIStoreMailFolder.m (-synchroniseCache): renamed
local var "folderWasModified" to "foundChange", as in
MAPIStoreGCSFolder's version. Fixed a bug where "foundChange"

View File

@ -296,11 +296,19 @@ _compareBodyKeysByPriority (id entry1, id entry2, void *data)
changeKey = [parentFolder changeKeyForMessageWithKey: nameInContainer];
if (!changeKey)
{
[self warnWithFormat: @"attempting to get change key"
@" by synchronising folder..."];
[(MAPIStoreMailFolder *) container synchroniseCache];
[parentFolder synchroniseCache];
changeKey = [parentFolder changeKeyForMessageWithKey: nameInContainer];
if (changeKey)
[self logWithFormat: @"got one"];
else
{
[self errorWithFormat: @"still nothing. We crash!"];
abort ();
}
}
if (!changeKey)
abort ();
*data = [changeKey asBinaryInMemCtx: memCtx];
}
@ -320,7 +328,20 @@ _compareBodyKeysByPriority (id entry1, id entry2, void *data)
changeList = [(MAPIStoreMailFolder *)[self container]
predecessorChangeListForMessageWithKey: [self nameInContainer]];
if (!changeList)
abort ();
{
[self warnWithFormat: @"attempting to get predecessor change list"
@" by synchronising folder..."];
[(MAPIStoreMailFolder *) container synchroniseCache];
changeList = [(MAPIStoreMailFolder *)[self container]
predecessorChangeListForMessageWithKey: [self nameInContainer]];
if (changeList)
[self logWithFormat: @"got one"];
else
{
[self errorWithFormat: @"still nothing. We crash!"];
abort ();
}
}
*data = [changeList asBinaryInMemCtx: memCtx];
}