fix(preferences): keep mail identities when none is provided when saving

This commit is contained in:
Francis Lachapelle
2022-05-25 13:31:03 -04:00
parent 9337915890
commit 36303bef9d

View File

@@ -1449,7 +1449,7 @@ static NSArray *reminderValues = nil;
if ((v = [o objectForKey: @"defaults"]))
{
NSMutableDictionary *sanitizedLabels;
NSArray *allKeys, *accounts;
NSArray *allKeys, *accounts, *identities;
NSDictionary *newLabels;
NSString *name;
id loginModule;
@@ -1523,6 +1523,17 @@ static NSArray *reminderValues = nil;
if ([[[user userDefaults] mailCertificate] length])
[v setObject: [[user userDefaults] mailCertificate] forKey: @"SOGoMailCertificate"];
//
// Keep the original mail identities if none is provided
//
identities = [v objectForKey: @"SOGoMailIdentities"];
if (!identities || ![identities isKindOfClass: [NSArray class]])
{
identities = [[user userDefaults] mailIdentities];
if ([identities count])
[v setObject: identities forKey: @"SOGoMailIdentities"];
}
//
// We sanitize our auxiliary mail accounts
//