fix(mail): pick proper "from" address when replying/forwarding

Fixes #5056
This commit is contained in:
Francis Lachapelle
2020-07-06 12:17:11 -04:00
parent 089935297c
commit c99170b9bc
7 changed files with 173 additions and 78 deletions
+1 -33
View File
@@ -65,7 +65,6 @@
NSString *sourceUID;
NSString *sourceFolder;
NSString *text;
NSMutableArray *fromEMails;
NSString *from;
SOGoMailFolder *sentFolder;
BOOL isHTML;
@@ -122,7 +121,6 @@ static NSArray *infoKeys = nil;
[priority release];
[receipt release];
[sentFolder release];
[fromEMails release];
[from release];
[text release];
[subject release];
@@ -256,7 +254,7 @@ static NSArray *infoKeys = nil;
identities = [[[self clientObject] mailAccountFolder] identities];
if ([identities count])
{
if (from)
if ([from length])
{
allIdentities = [identities objectEnumerator];
valid = NO;
@@ -278,11 +276,6 @@ static NSArray *infoKeys = nil;
from = nil;
}
}
if (!from)
{
from = [self _emailFromIdentity: [[context activeUser] defaultIdentity]];
[from retain];
}
}
return from;
@@ -413,31 +406,6 @@ static NSArray *infoKeys = nil;
return [UIxMailSizeFormatter sharedMailSizeFormatter];
}
/* from addresses */
- (NSArray *) fromEMails
{
NSArray *identities;
int count, max;
NSString *email;
SOGoMailAccount *account;
if (!fromEMails)
{
account = [[self clientObject] mailAccountFolder];
identities = [account identities];
max = [identities count];
fromEMails = [[NSMutableArray alloc] initWithCapacity: max];
for (count = 0; count < max; count++)
{
email = [self _emailFromIdentity: [identities objectAtIndex: count]];
[fromEMails addObjectUniquely: email];
}
}
return fromEMails;
}
/* info loading */
- (void) loadInfo: (NSDictionary *) _info