aboutsummaryrefslogtreecommitdiffstats
path: root/em-format
diff options
context:
space:
mode:
Diffstat (limited to 'em-format')
-rw-r--r--em-format/e-mail-formatter-attachment.c9
-rw-r--r--em-format/e-mail-formatter-print.c9
-rw-r--r--em-format/e-mail-parser.c4
3 files changed, 13 insertions, 9 deletions
diff --git a/em-format/e-mail-formatter-attachment.c b/em-format/e-mail-formatter-attachment.c
index 2f94de82eb..d84c6b75a3 100644
--- a/em-format/e-mail-formatter-attachment.c
+++ b/em-format/e-mail-formatter-attachment.c
@@ -179,14 +179,14 @@ emfe_attachment_format (EMailFormatterExtension *extension,
gchar *name;
EAttachment *attachment;
GFileInfo *file_info;
- const gchar *description;
const gchar *display_name;
+ gchar *description;
attachment = empa->attachment;
- file_info = e_attachment_get_file_info (attachment);
+ file_info = e_attachment_ref_file_info (attachment);
display_name = g_file_info_get_display_name (file_info);
- description = e_attachment_get_description (attachment);
+ description = e_attachment_dup_description (attachment);
if (description != NULL && *description != '\0') {
name = g_strdup_printf (
"<h2>Attachment: %s (%s)</h2>\n",
@@ -200,7 +200,10 @@ emfe_attachment_format (EMailFormatterExtension *extension,
camel_stream_write_string (
stream, name, cancellable, NULL);
+ g_free (description);
g_free (name);
+
+ g_object_unref (file_info);
}
for (iter = g_queue_peek_head_link (extensions); iter; iter = iter->next) {
diff --git a/em-format/e-mail-formatter-print.c b/em-format/e-mail-formatter-print.c
index d183d74c30..dfbcc10773 100644
--- a/em-format/e-mail-formatter-print.c
+++ b/em-format/e-mail-formatter-print.c
@@ -59,8 +59,8 @@ write_attachments_list (EMailFormatter *formatter,
EMailPartAttachment *part = link->data;
EAttachment *attachment;
GFileInfo *file_info;
- const gchar *description;
const gchar *display_name;
+ gchar *description;
gchar *name;
gchar *size;
@@ -68,12 +68,12 @@ write_attachments_list (EMailFormatter *formatter,
continue;
attachment = part->attachment;
- file_info = e_attachment_get_file_info (attachment);
+ file_info = e_attachment_ref_file_info (attachment);
if (file_info == NULL)
continue;
display_name = g_file_info_get_display_name (file_info);
- description = e_attachment_get_description (attachment);
+ description = e_attachment_dup_description (attachment);
if (description != NULL && *description != '\0') {
name = g_strdup_printf (
@@ -89,8 +89,11 @@ write_attachments_list (EMailFormatter *formatter,
str, "<tr><td>%s</td><td>%s</td></tr>\n",
name, size);
+ g_free (description);
g_free (name);
g_free (size);
+
+ g_object_unref (file_info);
}
g_string_append (str, "</table>\n");
diff --git a/em-format/e-mail-parser.c b/em-format/e-mail-parser.c
index 05e982b813..b09a91cf62 100644
--- a/em-format/e-mail-parser.c
+++ b/em-format/e-mail-parser.c
@@ -733,14 +733,12 @@ e_mail_parser_wrap_as_attachment (EMailParser *parser,
if (size != 0) {
GFileInfo *file_info;
- file_info = e_attachment_get_file_info (empa->attachment);
+ file_info = e_attachment_ref_file_info (empa->attachment);
if (file_info == NULL) {
file_info = g_file_info_new ();
g_file_info_set_content_type (
file_info, empa->snoop_mime_type);
- } else {
- g_object_ref (file_info);
}
g_file_info_set_size (file_info, size);