diff --git a/SoObjects/SOGo/SOGoParentFolder.m b/SoObjects/SOGo/SOGoParentFolder.m index fbed6bd1d..5ba5c15b0 100644 --- a/SoObjects/SOGo/SOGoParentFolder.m +++ b/SoObjects/SOGo/SOGoParentFolder.m @@ -316,7 +316,7 @@ static SoSecurityManager *sm = nil; NSMutableDictionary *folderDisplayNames; NSMutableArray *subscribedReferences; SOGoUserSettings *settings; - NSString *currentKey; + NSString *activeUser, *currentKey; SOGoUser *ownerUser; NSException *error; id o; @@ -332,6 +332,7 @@ static SoSecurityManager *sm = nil; error = nil; /* we ignore non-DB errors at this time... */ dirty = NO; + activeUser = [[context activeUser] login]; ownerUser = [SOGoUser userWithLogin: owner]; settings = [ownerUser userSettings]; @@ -352,7 +353,9 @@ static SoSecurityManager *sm = nil; // remove it from the current list. [subscribedReferences removeObject: currentKey]; [folderDisplayNames removeObjectForKey: currentKey]; - dirty = YES; + if ([owner isEqualToString: activeUser]) + // Synchronize settings only if the subscription is owned by the active user + dirty = YES; } }