aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-ops.c
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2001-08-08 17:44:16 +0800
committerMichael Zucci <zucchi@src.gnome.org>2001-08-08 17:44:16 +0800
commit2dbc89d3fce53a9095e42b9811ad1e42a928862b (patch)
tree136247d610e66d713cf054315de9cc3ef33d11b0 /mail/mail-ops.c
parent119cea086db2bc273870d7bbf33ebecbdcb9e818 (diff)
downloadgsoc2013-evolution-2dbc89d3fce53a9095e42b9811ad1e42a928862b.tar.gz
gsoc2013-evolution-2dbc89d3fce53a9095e42b9811ad1e42a928862b.tar.zst
gsoc2013-evolution-2dbc89d3fce53a9095e42b9811ad1e42a928862b.zip
Free the dbkey if we found the config option.
2001-08-07 Not Zed <NotZed@Ximian.com> * mail-config.c (mail_config_get_thread_list): Free the dbkey if we found the config option. * mail-send-recv.c (build_dialogue): Free the pretty_url after we've used it. (free_send_info): Free the 'what' string. (receive_done): Use free_send_info to make sure we free everything. * mail-ops.c (send_queue_free): Unref the filter driver when done. (send_queue_send): Unref the driver here too, force any long taking operations to run in our thread. svn path=/trunk/; revision=11777
Diffstat (limited to 'mail/mail-ops.c')
-rw-r--r--mail/mail-ops.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/mail/mail-ops.c b/mail/mail-ops.c
index bf3427c2b2..0f404af174 100644
--- a/mail/mail-ops.c
+++ b/mail/mail-ops.c
@@ -724,12 +724,17 @@ send_queue_send(struct _mail_msg *mm)
camel_folder_set_message_flags (m->queue, uids->pdata[i], CAMEL_MESSAGE_DELETED, CAMEL_MESSAGE_DELETED);
}
-
+
if (camel_exception_is_set (&mm->ex))
report_status (m, CAMEL_FILTER_STATUS_END, 100, _("Failed on message %d of %d"), i+1, uids->len);
else
report_status (m, CAMEL_FILTER_STATUS_END, 100, _("Complete."));
-
+
+ if (m->driver) {
+ camel_object_unref((CamelObject *)m->driver);
+ m->driver = NULL;
+ }
+
camel_folder_free_uids (m->queue, uids);
if (!camel_exception_is_set (&mm->ex))
@@ -756,6 +761,8 @@ send_queue_free(struct _mail_msg *mm)
{
struct _send_queue_msg *m = (struct _send_queue_msg *)mm;
+ if (m->driver)
+ camel_object_unref((CamelObject *)m->driver);
camel_object_unref((CamelObject *)m->queue);
g_free(m->destination);
if (m->cancel)