diff --git a/ChangeLog b/ChangeLog index bb7a8289c..3c0ae8d13 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,8 @@ * UI/MailerUI/UIxMailMainFrame.m (-formattedMailtoString:): fixed the case when dealing with a NGVCardReference (from a list) with no FN attribute and no N attribute. + (-composeAction): fixed the case when dealing with a contact with + no email address. * UI/Scheduler/UIxComponentEditor.m (-calendarList): added proper verification of deletion rights on the current calendar and diff --git a/UI/MailerUI/UIxMailMainFrame.m b/UI/MailerUI/UIxMailMainFrame.m index 6e79f6c41..b367f9a02 100644 --- a/UI/MailerUI/UIxMailMainFrame.m +++ b/UI/MailerUI/UIxMailMainFrame.m @@ -175,7 +175,7 @@ { id contact; NSArray *accounts, *contactsId, *cards; - NSString *firstAccount, *firstEscapedAccount, *newLocation, *parameters, *folderId, *uid; + NSString *firstAccount, *firstEscapedAccount, *newLocation, *parameters, *folderId, *uid, *formattedMail; NSEnumerator *uids; NSMutableArray *addresses; NGVCard *card; @@ -224,15 +224,20 @@ cards = [list cardReferences]; count = [cards count]; for (i = 0; i < count; i++) - [addresses addObject: - [self formattedMailtoString: [cards objectAtIndex: i]]]; + { + formattedMail = [self formattedMailtoString: [cards objectAtIndex: i]]; + if (formattedMail) + [addresses addObject: formattedMail]; + } } else if ([contact isKindOfClass: [SOGoContactGCSEntry class]]) { // We fetch the preferred email address of the contact or // the first defined email address card = [contact vCard]; - [addresses addObject: [self formattedMailtoString: card]]; + formattedMail = [self formattedMailtoString: card]; + if (formattedMail) + [addresses addObject: formattedMail]; } uid = [uids nextObject]; }