From a7d07b2a129073a6d8012fe6cd616fee893e93e4 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Wed, 28 Jun 2017 10:57:18 -0400 Subject: [PATCH] (fix) Update settings of active user only Fixes #3988 --- SoObjects/SOGo/SOGoParentFolder.m | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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; } }