summaryrefslogtreecommitdiff
path: root/mailnews/imap/src/nsIMAPBodyShell.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'mailnews/imap/src/nsIMAPBodyShell.cpp')
-rw-r--r--mailnews/imap/src/nsIMAPBodyShell.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/mailnews/imap/src/nsIMAPBodyShell.cpp b/mailnews/imap/src/nsIMAPBodyShell.cpp
index b81978cc7b..83e30add45 100644
--- a/mailnews/imap/src/nsIMAPBodyShell.cpp
+++ b/mailnews/imap/src/nsIMAPBodyShell.cpp
@@ -724,6 +724,25 @@ bool nsIMAPBodypartLeaf::ShouldFetchInline(nsIMAPBodyShell *aShell)
return false; // we can leave it on the server
}
+#ifdef XP_MACOSX
+ // If it is either applesingle, or a resource fork for appledouble
+ if (!PL_strcasecmp(m_contentType, "application/applefile"))
+ {
+ // if it is appledouble
+ if (m_parentPart->GetType() == IMAP_BODY_MULTIPART &&
+ !PL_strcasecmp(m_parentPart->GetBodySubType(), "appledouble"))
+ {
+ // This is the resource fork of a multipart/appledouble.
+ // We inherit the inline attributes of the parent,
+ // which was derived from its OTHER child. (The data fork.)
+ return m_parentPart->ShouldFetchInline(aShell);
+ }
+ else // it is applesingle
+ {
+ return false; // we can leave it on the server
+ }
+ }
+#endif // XP_MACOSX
// Leave out parts with type application/(*)
if (!PL_strcasecmp(m_bodyType, "APPLICATION") && // If it is of type "application"