From 4d4629e816858414a3f3e118760f905ba829a322 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Fri, 3 Feb 2012 17:23:56 +0000 Subject: [PATCH] Monotone-Parent: c0382b432c6712e7dc895590046f2754c8cd37f1 Monotone-Revision: 8c5a9e9cc065204a82679aa77cc03ea009be7cfd Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2012-02-03T17:23:56 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 5 +++++ OpenChange/MAPIStoreFolderTable.m | 20 ++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/ChangeLog b/ChangeLog index df07e5215..dedb71535 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2012-02-03 Wolfgang Sourdeau + * OpenChange/MAPIStoreFolderTable.m + (-evaluatePropertyRestriction:intoQualifier:): overriden method to + always return true for restrictions on PR_CHANGE_NUM, in order to + help the fxics mechanism. + * OpenChange/MAPIStoreFolder.m (-deleteFolder): cleanup the caches in order to let the folder disappear. diff --git a/OpenChange/MAPIStoreFolderTable.m b/OpenChange/MAPIStoreFolderTable.m index dfcb8af46..1deb68998 100644 --- a/OpenChange/MAPIStoreFolderTable.m +++ b/OpenChange/MAPIStoreFolderTable.m @@ -85,6 +85,26 @@ return restrictedChildKeys; } +- (MAPIRestrictionState) evaluatePropertyRestriction: (struct mapi_SPropertyRestriction *) res + intoQualifier: (EOQualifier **) qualifier +{ + MAPIRestrictionState rc; + + switch ((uint32_t) res->ulPropTag) + { + /* HACK: we cheat here as we current have no mechanism for searching + folders based on PR_CHANGE_NUM, which is used by the oxcfxics + mechanism... */ + case PR_CHANGE_NUM: + rc = MAPIRestrictionStateAlwaysTrue; + break; + default: + rc = [super evaluatePropertyRestriction: res intoQualifier: qualifier]; + } + + return rc; +} + - (id) lookupChild: (NSString *) childKey { return [(MAPIStoreFolder *) container lookupFolder: childKey];