From a7920d6aaf8d146e332f5783b2d67fae79764041 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Thu, 23 Feb 2012 21:10:18 +0000 Subject: [PATCH] Monotone-Parent: a3b799159abc70880dcdddcf22236376e1646a5d Monotone-Revision: fa0f9bd311fd3d1239970c0d361a8ef16ecfa4f9 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2012-02-23T21:10:18 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 7 +++++++ OpenChange/MAPIStoreContext.h | 4 +--- OpenChange/MAPIStoreContext.m | 4 ++++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8e9fddb21..b6716ecdf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2012-02-23 Wolfgang Sourdeau + + * OpenChange/MAPIStoreContext.m (-init): restored "containersBag" + mechanism where root context folders that are deeper than the + first level of their hierarchy needs to have their parent folders + retained. + 2012-02-23 Jean Raby * debian/rules: add a symlink to let gdb find debugging symbols diff --git a/OpenChange/MAPIStoreContext.h b/OpenChange/MAPIStoreContext.h index 49d5d0b95..ef3be71a6 100644 --- a/OpenChange/MAPIStoreContext.h +++ b/OpenChange/MAPIStoreContext.h @@ -54,11 +54,9 @@ @interface MAPIStoreContext : NSObject { struct mapistore_connection_info *connInfo; - + NSMutableArray *containersBag; SOGoUser *activeUser; - MAPIStoreUserContext *userContext; - NSURL *contextUrl; } diff --git a/OpenChange/MAPIStoreContext.m b/OpenChange/MAPIStoreContext.m index 2f6212005..45f632349 100644 --- a/OpenChange/MAPIStoreContext.m +++ b/OpenChange/MAPIStoreContext.m @@ -260,6 +260,7 @@ static inline NSURL *CompleteURLFromMapistoreURI (const char *uri) activeUser = nil; userContext = nil; contextUrl = nil; + containersBag = [NSMutableArray new]; } return self; @@ -314,6 +315,7 @@ static inline NSURL *CompleteURLFromMapistoreURI (const char *uri) UTF8String]); [contextUrl release]; [userContext release]; + [containersBag release]; [super dealloc]; } @@ -437,6 +439,8 @@ static inline NSURL *CompleteURLFromMapistoreURI (const char *uri) acquire: NO]; if ([currentFolder isKindOfClass: NSExceptionK]) currentFolder = nil; + else + [containersBag addObject: currentFolder]; } if (currentFolder)