[evolution] Bug 582144 – Evolution not showing proper attachment filename



commit 00cf33a815541bc2e4a2d96e29900241bf58c379
Author: Matthew Barnes <mbarnes redhat com>
Date:   Wed May 13 11:39:18 2009 -0400

    Bug 582144 â?? Evolution not showing proper attachment filename
---
 widgets/misc/e-attachment-store.c |    5 ++++-
 widgets/misc/e-attachment.c       |   18 ++++++++++--------
 2 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/widgets/misc/e-attachment-store.c b/widgets/misc/e-attachment-store.c
index 9d0fe6d..53a1cbe 100644
--- a/widgets/misc/e-attachment-store.c
+++ b/widgets/misc/e-attachment-store.c
@@ -839,11 +839,13 @@ e_attachment_store_get_uris_async (EAttachmentStore *store,
 
 	/* Any remaining attachments in the list should have MIME parts
 	 * only, so we need to save them all to a temporary directory.
-	 * We use a directory so the files can retain their basenames. */
+	 * We use a directory so the files can retain their basenames.
+	 * XXX This could trigger a blocking temp directory cleanup. */
 	template = g_strdup_printf (PACKAGE "-%s-XXXXXX", g_get_user_name ());
 	path = e_mkdtemp (template);
 	g_free (template);
 
+	/* XXX Let's hope errno got set property. */
 	if (path == NULL) {
 		GSimpleAsyncResult *simple;
 
@@ -871,6 +873,7 @@ e_attachment_store_get_uris_async (EAttachmentStore *store,
 			uri_context);
 
 	g_object_unref (temp_directory);
+	g_free (path);
 }
 
 gchar **
diff --git a/widgets/misc/e-attachment.c b/widgets/misc/e-attachment.c
index 6764711..e4e336e 100644
--- a/widgets/misc/e-attachment.c
+++ b/widgets/misc/e-attachment.c
@@ -2025,16 +2025,18 @@ attachment_open_save_finished_cb (EAttachment *attachment,
 static void
 attachment_open_save_temporary (OpenContext *open_context)
 {
-	GFile *file;
+	GFile *temp_directory;
 	gchar *template;
 	gchar *path;
 	GError *error = NULL;
 
 	errno = 0;
 
-	/* XXX This could trigger a blocking temp directory cleanup. */
+	/* Save the file to a temporary directory.
+	 * We use a directory so the files can retain their basenames.
+	 * XXX This could trigger a blocking temp directory cleanup. */
 	template = g_strdup_printf (PACKAGE "-%s-XXXXXX", g_get_user_name ());
-	path = e_mktemp (template);
+	path = e_mkdtemp (template);
 	g_free (template);
 
 	/* XXX Let's hope errno got set properly. */
@@ -2048,15 +2050,15 @@ attachment_open_save_temporary (OpenContext *open_context)
 	if (attachment_open_check_for_error (open_context, error))
 		return;
 
-	file = g_file_new_for_path (path);
-
-	g_free (path);
+	temp_directory = g_file_new_for_path (path);
 
 	e_attachment_save_async (
-		open_context->attachment, file, (GAsyncReadyCallback)
+		open_context->attachment,
+		temp_directory, (GAsyncReadyCallback)
 		attachment_open_save_finished_cb, open_context);
 
-	g_object_unref (file);
+	g_object_unref (temp_directory);
+	g_free (path);
 }
 
 void



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]