+2005-08-10 [colin] 1.9.13cvs31
+
+ * src/procmsg.c
+ Fix procmsg_msginfo_new_from_mimeinfo() when
+ the MimeInfo isn't stored in memory. This fixes
+ replying to an attached message.
+
2005-08-10 [colin] 1.9.13cvs30
* src/mainwindow.c
( cvs diff -u -r 1.395.2.108 -r 1.395.2.109 src/summaryview.c; cvs diff -u -r 1.1.2.10 -r 1.1.2.11 src/prefs_summaries.c; ) > 1.9.13cvs28.patchset
( cvs diff -u -r 1.213.2.49 -r 1.213.2.50 src/folder.c; cvs diff -u -r 1.3.2.6 -r 1.3.2.7 src/folderutils.c; cvs diff -u -r 1.207.2.55 -r 1.207.2.56 src/folderview.c; cvs diff -u -r 1.1.2.17 -r 1.1.2.18 src/imap_gtk.c; cvs diff -u -r 1.274.2.53 -r 1.274.2.54 src/mainwindow.c; cvs diff -u -r 1.2.2.10 -r 1.2.2.11 src/mh_gtk.c; cvs diff -u -r 1.150.2.34 -r 1.150.2.35 src/procmsg.c; cvs diff -u -r 1.395.2.109 -r 1.395.2.110 src/summaryview.c; ) > 1.9.13cvs29.patchset
( cvs diff -u -r 1.274.2.54 -r 1.274.2.55 src/mainwindow.c; ) > 1.9.13cvs30.patchset
+( cvs diff -u -r 1.150.2.35 -r 1.150.2.36 src/procmsg.c; ) > 1.9.13cvs31.patchset
mimeinfo->content = MIMECONTENT_FILE;
mimeinfo->data.filename = g_strdup(tmpfile);
g_free(tmpfile);
- }
-
- tmp_msginfo = procheader_parse_file(mimeinfo->data.filename,
- flags, TRUE, FALSE);
-
- if (tmp_msginfo != NULL) {
- tmp_msginfo->folder = src_msginfo->folder;
- tmp_msginfo->plaintext_file = g_strdup(mimeinfo->data.filename);
+ tmp_msginfo = procheader_parse_file(mimeinfo->data.filename,
+ flags, TRUE, FALSE);
+ if (tmp_msginfo != NULL) {
+ tmp_msginfo->folder = src_msginfo->folder;
+ tmp_msginfo->plaintext_file = g_strdup(mimeinfo->data.filename);
+ } else {
+ g_warning("procmsg_msginfo_new_from_mimeinfo(): Can't generate new msginfo");
+ }
} else {
- g_warning("procmsg_msginfo_new_from_mimeinfo(): Can't generate new msginfo");
+ gchar *tmpfile = get_tmp_file();
+ FILE *fp = fopen(tmpfile, "wb");
+ if (fp && procmime_write_message_rfc822(mimeinfo, fp) >= 0) {
+ tmp_msginfo = procheader_parse_file(
+ tmpfile, flags, TRUE, FALSE);
+ }
+ if (fp)
+ fclose(fp);
+ if (tmp_msginfo != NULL) {
+ tmp_msginfo->folder = src_msginfo->folder;
+ tmp_msginfo->plaintext_file = g_strdup(tmpfile);
+ } else {
+ g_warning("procmsg_msginfo_new_from_mimeinfo(): Can't generate new msginfo");
+ }
+ g_free(tmpfile);
+
}
return tmp_msginfo;