From eca22caefc921fa713c2b83e24831f52b397eca7 Mon Sep 17 00:00:00 2001 From: Ludovic Marcotte Date: Thu, 5 Feb 2015 11:14:53 -0500 Subject: [PATCH] Fix for bug #3078 --- NEWS | 1 + UI/MailerUI/UIxMailFolderActions.m | 11 +++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 9c5ebdbd9..6ddb317a6 100644 --- a/NEWS +++ b/NEWS @@ -3,6 +3,7 @@ Bug fixes - (regression) fixed sending a message when mail module is not active (#3088) + - mail lables with blanks are not handled correctly (#3078) 2.2.15 (2015-01-30) ------------------- diff --git a/UI/MailerUI/UIxMailFolderActions.m b/UI/MailerUI/UIxMailFolderActions.m index e04bf50bc..4515eac4f 100644 --- a/UI/MailerUI/UIxMailFolderActions.m +++ b/UI/MailerUI/UIxMailFolderActions.m @@ -712,19 +712,26 @@ WORequest *request; SOGoMailFolder *co; NSException *error; - NSArray *msgUIDs, *flags; + NSArray *msgUIDs; + NSMutableArray *flags; NSString *operation; NSDictionary *content, *result; BOOL addOrRemove; NGImap4Client *client; + int i; + request = [context request]; content = [[request contentAsString] objectFromJSONString]; - flags = [NSArray arrayWithObject:[content objectForKey:@"flags"]]; + flags = [NSMutableArray arrayWithObject:[content objectForKey:@"flags"]]; msgUIDs = [NSArray arrayWithArray:[content objectForKey:@"msgUIDs"]]; operation = [content objectForKey:@"operation"]; addOrRemove = ([operation isEqualToString:@"add"]? YES: NO); + // We unescape our flags + for (i = [flags count]-1; i >= 0; i--) + [flags replaceObjectAtIndex: i withObject: [[flags objectAtIndex: i] fromCSSIdentifier]]; + co = [self clientObject]; client = [[co imap4Connection] client]; [[co imap4Connection] selectFolder: [co imap4URL]];