summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libraries/qmfclient/qmailmessage.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/libraries/qmfclient/qmailmessage.cpp b/src/libraries/qmfclient/qmailmessage.cpp
index da8b74b7..867d0aa2 100644
--- a/src/libraries/qmfclient/qmailmessage.cpp
+++ b/src/libraries/qmfclient/qmailmessage.cpp
@@ -1149,6 +1149,9 @@ namespace findAttachments
if (container.multipartType() == QMailMessagePart::MultipartMixed) {
inMultipartMixed(container, found, hasAttachments);
}
+ if (container.multipartType() == QMailMessagePart::MultipartAlternative) {
+ inMultipartMixed(container, found, hasAttachments);
+ }
if (container.multipartType() == QMailMessagePart::MultipartSigned) {
inMultipartSigned(container, found, hasAttachments);
}
@@ -1166,6 +1169,9 @@ namespace findAttachments
bool isText = (contentType.type().toLower() == "text") &&
((contentType.subType().toLower() == "plain") || (contentType.subType().toLower() == "html"));
+ bool isCalendar = (contentType.type().toLower() == "text") &&
+ (contentType.subType().toLower() == "calendar");
+
bool isInLine = (!part.contentDisposition().isNull()) &&
(part.contentDisposition().type() == QMailMessageContentDisposition::Inline);
@@ -1177,7 +1183,7 @@ namespace findAttachments
// Attached messages are considered as attachments even if content disposition
// is inline instead of attachment, but only if they aren't text/plain nor text/html
- if (isRFC822 || isAttachment || (isInLine && !isText)) {
+ if (isRFC822 || isAttachment || (isInLine && !isText && !isCalendar)) {
if (found) {
*found << part.location();
}
@@ -1197,6 +1203,10 @@ namespace findAttachments
case QMailMessagePart::MultipartNone:
inMultipartNone(part, found, hasAttachments);
break;
+ case QMailMessagePart::MultipartMixed:
+ case QMailMessagePart::MultipartAlternative:
+ inMultipartMixed(part, found, hasAttachments);
+ break;
default:
break;
}