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)