X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fhildon2%2Fmodest-msg-view-window.c;h=f34f2b6bff836955e58c2bb730b28c473eeac0de;hb=a928ea9cd483356e9bbb31a11609a380b5954f94;hp=a148f895706e10756bfca7e4e92ef4d32c5d86a0;hpb=a4b066581084e8e829fe7e6dfe0076c27bcebd3c;p=modest diff --git a/src/hildon2/modest-msg-view-window.c b/src/hildon2/modest-msg-view-window.c index a148f89..f34f2b6 100644 --- a/src/hildon2/modest-msg-view-window.c +++ b/src/hildon2/modest-msg-view-window.c @@ -2426,8 +2426,10 @@ on_decode_to_stream_async_handler (TnyMimePart *mime_part, gchar *filepath = (gchar *) user_data; if (cancelled || err) { - modest_platform_information_banner (NULL, NULL, - _("mail_ib_file_operation_failed")); + if (err) { + modest_platform_information_banner (NULL, NULL, + _KR("cerm_device_memory_full")); + } goto free; } @@ -2479,18 +2481,17 @@ modest_msg_view_window_view_attachment (ModestMsgViewWindow *window, mime_part = (TnyMimePart *) tny_iterator_get_current (iter); g_object_unref (iter); } - g_object_unref (selected_attachments); + if (selected_attachments) + g_object_unref (selected_attachments); if (error) - return; + goto frees; } else { g_object_ref (mime_part); } - if (tny_mime_part_is_purged (mime_part)) { - g_object_unref (mime_part); - return; - } + if (tny_mime_part_is_purged (mime_part)) + goto frees; if (!modest_tny_mime_part_is_msg (mime_part)) { gchar *filepath = NULL; @@ -2552,7 +2553,12 @@ modest_msg_view_window_view_attachment (ModestMsgViewWindow *window, gtk_widget_show_all (GTK_WIDGET (msg_win)); } } - g_object_unref (mime_part); + + frees: + if (attachment_uid) + g_free (attachment_uid); + if (mime_part) + g_object_unref (mime_part); } typedef struct @@ -2630,7 +2636,7 @@ save_mime_part_to_file (SaveMimePartInfo *info) g_warning ("modest: could not save attachment %s: %d (%s)\n", pair->filename, error?error->code:-1, error?error->message:"Unknown error"); if ((error->domain == TNY_ERROR_DOMAIN) && - (error->code = TNY_IO_ERROR_WRITE) && + (error->code == TNY_IO_ERROR_WRITE) && (errno == ENOSPC)) { info->result = GNOME_VFS_ERROR_NO_SPACE; } else {