aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog10
-rw-r--r--mail/folder-browser.c2
-rw-r--r--mail/mail-ops.c8
3 files changed, 16 insertions, 4 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index d30718d148..28eb0e73da 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,13 @@
+2001-08-14 Dan Winship <danw@ximian.com>
+
+ * folder-browser.c (message_list_drag_data_get): Fix the fix for
+ #6722.
+
+ * mail-ops.c (save_messages_save): Likewise.
+ (save_part_save): Deal with the possibility that
+ camel_mime_filter_charset_new_convert will return NULL (bad
+ charset name). Fixes #6611.
+
2001-08-13 Jon Trowbridge <trow@ximian.com>
* mail-search.c (mail_search_construct): Disable the "search
diff --git a/mail/folder-browser.c b/mail/folder-browser.c
index efa79fc179..348d0aa8d0 100644
--- a/mail/folder-browser.c
+++ b/mail/folder-browser.c
@@ -253,7 +253,7 @@ message_list_drag_data_get (ETree *tree, int row, ETreePath path, int col,
uri_list = g_strdup_printf ("file://%s/%s", tmpdir, filename);
- fd = open (uri_list + 7, O_WRONLY | O_CREAT);
+ fd = open (uri_list + 7, O_WRONLY | O_CREAT, 0666);
if (fd == -1) {
/* cleanup and abort */
camel_object_unref (CAMEL_OBJECT (message));
diff --git a/mail/mail-ops.c b/mail/mail-ops.c
index f300a3359f..c21c207f29 100644
--- a/mail/mail-ops.c
+++ b/mail/mail-ops.c
@@ -1911,7 +1911,7 @@ save_messages_save (struct _mail_msg *mm)
int fd, i;
char *from;
- fd = open (m->path, O_WRONLY | O_CREAT | O_TRUNC);
+ fd = open (m->path, O_WRONLY | O_CREAT | O_TRUNC, 0666);
if (fd == -1) {
camel_exception_setv(&mm->ex, CAMEL_EXCEPTION_SYSTEM,
_("Unable to create output file: %s\n %s"), m->path, strerror(errno));
@@ -2048,8 +2048,10 @@ save_part_save (struct _mail_msg *mm)
&& g_strcasecmp (charset, "utf-8") != 0) {
charsetfilter = camel_mime_filter_charset_new_convert ("utf-8", charset);
filtered_stream = camel_stream_filter_new_with_stream (stream_fs);
- camel_stream_filter_add (filtered_stream, CAMEL_MIME_FILTER (charsetfilter));
- camel_object_unref (CAMEL_OBJECT (charsetfilter));
+ if (charsetfilter) {
+ camel_stream_filter_add (filtered_stream, CAMEL_MIME_FILTER (charsetfilter));
+ camel_object_unref (CAMEL_OBJECT (charsetfilter));
+ }
} else {
/* no we can't use a CAMEL_BLAH() cast here, since its not true, HOWEVER
we only treat it as a normal stream from here on, so it is OK */