]> granicus.if.org Git - neomutt/commitdiff
Fix postpone/resume to not remove a Mail-Followup-To header (closes #3070)
authorKevin McCarthy <kevin@8t8.us>
Fri, 26 Apr 2013 19:10:46 +0000 (12:10 -0700)
committerKevin McCarthy <kevin@8t8.us>
Fri, 26 Apr 2013 19:10:46 +0000 (12:10 -0700)
This solution changes mutt_prepare_template() to check whether the
message_id field is NULL to decide whether to wipe the message-id and
mail-followup-to headers when instantiating the message.

If we are resending a message, we don't want the previous message-id
and mail-followup-to headers.  If we are resuming a postponed message,
however, we want to keep the mail-followup-to header if any was set
before the postpone.

postpone.c

index 7ff981452cb61d699dafc313b2778d7bfbc4be7e..a54b07c890f1bedc9d016e093dc27206fc522ad1 100644 (file)
@@ -545,8 +545,15 @@ int mutt_prepare_template (FILE *fp, CONTEXT *ctx, HEADER *newhdr, HEADER *hdr,
   newhdr->content->length = hdr->content->length;
   mutt_parse_part (fp, newhdr->content);
 
-  FREE (&newhdr->env->message_id);
-  FREE (&newhdr->env->mail_followup_to); /* really? */
+  /* If message_id is set, then we are resending a message and don't want
+   * message_id or mail_followup_to. Otherwise, we are resuming a
+   * postponed message, and want to keep the mail_followup_to.
+   */
+  if (newhdr->env->message_id != NULL)
+  {
+    FREE (&newhdr->env->message_id);
+    FREE (&newhdr->env->mail_followup_to);
+  }
 
   /* decrypt pgp/mime encoded messages */