diff --git a/UI/MailPartViewers/UIxMailPartViewer.m b/UI/MailPartViewers/UIxMailPartViewer.m index 5eb2515f8..9bc68cd01 100644 --- a/UI/MailPartViewers/UIxMailPartViewer.m +++ b/UI/MailPartViewers/UIxMailPartViewer.m @@ -249,9 +249,10 @@ _st = [_st lowercaseString]; if ([_mt isEqualToString:@"image"]) { - if ([_st isEqualToString:@"gif"]) return @"gif"; - if ([_st isEqualToString:@"jpeg"]) return @"jpg"; - if ([_st isEqualToString:@"png"]) return @"png"; + if ([_st isEqualToString:@"gif"]) return @"gif"; + if ([_st isEqualToString:@"jpeg"]) return @"jpg"; + if ([_st isEqualToString:@"png"]) return @"png"; + if ([_st isEqualToString:@"svg+xml"]) return @"svg"; } else if ([_mt isEqualToString:@"text"]) { if ([_st isEqualToString:@"plain"]) return @"txt"; @@ -260,10 +261,10 @@ if ([_st isEqualToString:@"x-vcard"]) return @"vcf"; } else if ([_mt isEqualToString:@"message"]) { - if ([_st isEqualToString:@"rfc822"]) return @"eml"; + if ([_st isEqualToString:@"rfc822"]) return @"eml"; } else if ([_mt isEqualToString:@"application"]) { - if ([_st isEqualToString:@"pdf"]) return @"pdf"; + if ([_st isEqualToString:@"pdf"]) return @"pdf"; } return nil; } @@ -326,9 +327,13 @@ - (NSString *) _pathForAttachmentOrDownload: (BOOL) forDownload { SOGoMailBodyPart *bodyPart; - NSString *s, *attachment; + NSString *st, *s, *attachment; NSMutableString *url; + st = [[bodyInfo valueForKey:@"subtype"] lowercaseString]; + if (!forDownload && [st isEqualToString: @"svg+xml"]) + return nil; + bodyPart = [self clientPart]; s = [[self clientObject] baseURLInContext: [self context]]; diff --git a/UI/MailPartViewers/UIxMailRenderingContext.m b/UI/MailPartViewers/UIxMailRenderingContext.m index 683e1da46..672ee661f 100644 --- a/UI/MailPartViewers/UIxMailRenderingContext.m +++ b/UI/MailPartViewers/UIxMailRenderingContext.m @@ -47,8 +47,7 @@ s = [[info objectForKey:@"disposition"] objectForKey: @"type"]; - shouldDisplay = (s && ([s caseInsensitiveCompare: @"ATTACHMENT"] - == NSOrderedSame)); + shouldDisplay = (s && ([s caseInsensitiveCompare: @"ATTACHMENT"] == NSOrderedSame)); if (!shouldDisplay && !textPart) shouldDisplay = ([[info objectForKey: @"bodyId"] length] ? YES : NO); @@ -219,8 +218,8 @@ static BOOL showNamedTextAttachmentsInline = NO; if ([mt isEqualToString: @"image"] && !([st isEqualToString: @"tiff"] || [st isEqualToString: @"pdf"])) { - if ([self _shouldDisplayAsAttachment: _info textPart: NO]) - return [self linkViewer]; + if ([self _shouldDisplayAsAttachment: _info textPart: NO] || [st isEqualToString: @"svg+xml"]) + return [self linkViewer]; return [self imageViewer]; } diff --git a/UI/Templates/MailPartViewers/UIxMailPartLinkViewer.wox b/UI/Templates/MailPartViewers/UIxMailPartLinkViewer.wox index d4206b069..174dfbf08 100644 --- a/UI/Templates/MailPartViewers/UIxMailPartLinkViewer.wox +++ b/UI/Templates/MailPartViewers/UIxMailPartLinkViewer.wox @@ -15,10 +15,10 @@
-