diff options
Diffstat (limited to 'em-format')
-rw-r--r-- | em-format/e-mail-formatter-attachment.c | 9 | ||||
-rw-r--r-- | em-format/e-mail-formatter-print.c | 9 | ||||
-rw-r--r-- | em-format/e-mail-parser.c | 4 |
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); |