diff options
author | Not Zed <NotZed@Ximian.com> | 2001-02-09 09:48:04 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2001-02-09 09:48:04 +0800 |
commit | cd101b3ffcbe06d7b40bc19adbc66b2ad843a1c9 (patch) | |
tree | 4e58365acab06da8c310908bcca7931ad94b66a9 /mail/mail-ops.c | |
parent | a0eb13592633e0a5f06dc522dd8df3d9efdd70a0 (diff) | |
download | gsoc2013-evolution-cd101b3ffcbe06d7b40bc19adbc66b2ad843a1c9.tar.gz gsoc2013-evolution-cd101b3ffcbe06d7b40bc19adbc66b2ad843a1c9.tar.zst gsoc2013-evolution-cd101b3ffcbe06d7b40bc19adbc66b2ad843a1c9.zip |
only free driver, if set. (fetch_mail_fetched): Unref the driver here, so
2001-02-09 Not Zed <NotZed@Ximian.com>
* mail-ops.c (filter_folder_free): only free driver, if set.
(fetch_mail_fetched): Unref the driver here, so it can cleanup
before we call the 'done' callback.
* component-factory.c (owner_set_cb): Add setup for mail
autoreceive stuff.
* mail-send-recv.c (free_info_data): Free the send info's from teh
active hash, not the running list.
(receive_done): As we finish downloads, remove them and clean them
up, and also close the window.
(mail_autoreceive_setup): New function to setup & maintain
automatic download stuff.
svn path=/trunk/; revision=8134
Diffstat (limited to 'mail/mail-ops.c')
-rw-r--r-- | mail/mail-ops.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/mail/mail-ops.c b/mail/mail-ops.c index 3b81d62d6a..231b22ad95 100644 --- a/mail/mail-ops.c +++ b/mail/mail-ops.c @@ -209,7 +209,8 @@ filter_folder_free(struct _mail_msg *mm) camel_operation_unref(m->cancel); if (m->destination) camel_object_unref((CamelObject *)m->destination); - camel_object_unref((CamelObject *)m->driver); + if (m->driver) + camel_object_unref((CamelObject *)m->driver); } static struct _mail_msg_op filter_folder_op = { @@ -333,6 +334,11 @@ fetch_mail_fetched(struct _mail_msg *mm) { struct _fetch_mail_msg *m = (struct _fetch_mail_msg *)mm; + /* we unref this here as it may have more work to do (syncing + folders and whatnot) before we are really done */ + camel_object_unref((CamelObject *)m->fmsg.driver); + m->fmsg.driver = NULL; + if (m->done) m->done(m->source_uri, m->data); } |