From fd40cb71ac6eab9b6b900e1b09d164ccb51084e1 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Fri, 5 Dec 2014 23:14:47 -0500 Subject: [PATCH] Fix premature nil in JSON dict of UIxMailView.m --- UI/MailerUI/UIxMailView.m | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/UI/MailerUI/UIxMailView.m b/UI/MailerUI/UIxMailView.m index 82d6a0a36..313e4005f 100644 --- a/UI/MailerUI/UIxMailView.m +++ b/UI/MailerUI/UIxMailView.m @@ -226,7 +226,8 @@ static NSString *mailETag = nil; { id response; NSString *s; - NSDictionary *data; + NSMutableDictionary *data; + NSArray *addresses; SOGoMailObject *co; UIxEnvelopeAddressFormatter *addressFormatter; @@ -272,12 +273,7 @@ static NSString *mailETag = nil; andString: [data jsonRepresentation]]; } - data = [NSDictionary dictionaryWithObjectsAndKeys: - [addressFormatter dictionariesForArray: [co fromEnvelopeAddresses]], @"from", - [addressFormatter dictionariesForArray: [co toEnvelopeAddresses]], @"to", - [addressFormatter dictionariesForArray: [co ccEnvelopeAddresses]], @"cc", - [addressFormatter dictionariesForArray: [co bccEnvelopeAddresses]], @"bcc", - [addressFormatter dictionariesForArray: [co replyToEnvelopeAddresses]], @"reply-to", + data = [NSMutableDictionary dictionaryWithObjectsAndKeys: [self formattedDate], @"date", [self messageSubject], @"subject", [self attachmentAttrs], @"attachmentAttrs", @@ -285,6 +281,17 @@ static NSString *mailETag = nil; [NSNumber numberWithBool: [self mailIsDraft]], @"isDraft", [[self generateResponse] contentAsString], @"content", nil]; + if ((addresses = [addressFormatter dictionariesForArray: [co fromEnvelopeAddresses]])) + [data setObject: addresses forKey: @"from"]; + if ((addresses = [addressFormatter dictionariesForArray: [co toEnvelopeAddresses]])) + [data setObject: addresses forKey: @"to"]; + if ((addresses = [addressFormatter dictionariesForArray: [co ccEnvelopeAddresses]])) + [data setObject: addresses forKey: @"cc"]; + if ((addresses = [addressFormatter dictionariesForArray: [co bccEnvelopeAddresses]])) + [data setObject: addresses forKey: @"bcc"]; + if ((addresses = [addressFormatter dictionariesForArray: [co replyToEnvelopeAddresses]])) + [data setObject: addresses forKey: @"reply-to"]; + response = [self responseWithStatus: 200 andString: [data jsonRepresentation]];