talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit dd0921d2805f60cbb477c50e419e170253dea242
parent fb1bc654673c4854e07907c7c3e922fa7f1bffeb
Author: Paul <paul@claws-mail.org>
Date:   Fri, 23 Aug 2024 15:22:46 +0100

revert bbb1f7285d0f033f39e835be9994a12c335a8fd8 and 4f9e295d34c6dfa69aa9fc8fc526c11bc70eb675, they cause unwelcome side effects

Diffstat:
Msrc/folder.c | 11+++++++++--
Msrc/procmime.c | 2+-
2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/folder.c b/src/folder.c @@ -2861,8 +2861,7 @@ static void msginfo_set_mime_flags(GNode *node, gpointer data) MsgInfo *msginfo = data; MimeInfo *mimeinfo = node->data; - if ((mimeinfo->disposition == DISPOSITIONTYPE_ATTACHMENT || - mimeinfo->disposition == DISPOSITIONTYPE_INLINE) && + if (mimeinfo->disposition == DISPOSITIONTYPE_ATTACHMENT && (!mimeinfo->subtype || (strcmp(mimeinfo->subtype, "pgp-signature") && strcmp(mimeinfo->subtype, "x-pkcs7-signature") && strcmp(mimeinfo->subtype, "pkcs7-signature")))) { @@ -2876,6 +2875,14 @@ static void msginfo_set_mime_flags(GNode *node, gpointer data) strcmp(mimeinfo->subtype, "x-pkcs7-signature") && strcmp(mimeinfo->subtype, "pkcs7-signature"))) procmsg_msginfo_set_flags(msginfo, 0, MSG_HAS_ATTACHMENT); + } else if (mimeinfo->disposition == DISPOSITIONTYPE_INLINE && + mimeinfo->id == NULL && + (strcmp(mimeinfo->subtype, "pgp-signature") && + strcmp(mimeinfo->subtype, "x-pkcs7-signature") && + strcmp(mimeinfo->subtype, "pkcs7-signature")) && + (procmime_mimeinfo_get_parameter(mimeinfo, "name") != NULL || + procmime_mimeinfo_get_parameter(mimeinfo, "filename") != NULL)) { + procmsg_msginfo_set_flags(msginfo, 0, MSG_HAS_ATTACHMENT); } /* don't descend below top level message for signed and encrypted info */ diff --git a/src/procmime.c b/src/procmime.c @@ -2078,7 +2078,7 @@ static int procmime_parse_mimepart(MimeInfo *parent, else mimeinfo->location = NULL; - if (content_disposition != NULL && mimeinfo->type == MIMETYPE_MULTIPART) { + if (content_disposition != NULL) { g_strchomp(content_disposition); procmime_parse_content_disposition(content_disposition, mimeinfo); } else