diff options
author | 7 <NotZed@Ximian.com> | 2001-10-18 06:45:18 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2001-10-18 06:45:18 +0800 |
commit | a31ef049c0dcc0916b68f1ef099e1c9f44aac75d (patch) | |
tree | 44362b74c05d8e9cfe4e1b4b54526397a37a5119 /mail/mail-folder-cache.c | |
parent | 4b9dbd4269daf414066e5c7a15b992e3efedbfb2 (diff) | |
download | gsoc2013-evolution-a31ef049c0dcc0916b68f1ef099e1c9f44aac75d.tar.gz gsoc2013-evolution-a31ef049c0dcc0916b68f1ef099e1c9f44aac75d.tar.zst gsoc2013-evolution-a31ef049c0dcc0916b68f1ef099e1c9f44aac75d.zip |
Clone the folderinfo before passing to async event. (real_folder_created):
2001-10-17 <NotZed@Ximian.com>
* mail-folder-cache.c (store_folder_subscribed): Clone the
folderinfo before passing to async event.
(real_folder_created): Free when done.
(store_folder_unsubscribed):
(real_folder_deleted): And same here.
* mail-ops.c (mail_expunge_folder): Use the queued thread for
expunging folders.
svn path=/trunk/; revision=13741
Diffstat (limited to 'mail/mail-folder-cache.c')
-rw-r--r-- | mail/mail-folder-cache.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/mail/mail-folder-cache.c b/mail/mail-folder-cache.c index ccff8f7555..d60dcbddc3 100644 --- a/mail/mail-folder-cache.c +++ b/mail/mail-folder-cache.c @@ -278,6 +278,7 @@ real_folder_created(CamelStore *store, struct _store_info *si, CamelFolderInfo * { setup_folder(fi, si); camel_object_unref((CamelObject *)store); + camel_folder_info_free(fi); } static void @@ -293,7 +294,8 @@ store_folder_subscribed(CamelObject *o, void *event_data, void *data) if (si) mail_async_event_emit(si->async_event, - (CamelObjectEventHookFunc)real_folder_created, o, si, event_data); + (CamelObjectEventHookFunc)real_folder_created, o, si, + camel_folder_info_clone(event_data)); } static void @@ -314,6 +316,7 @@ real_folder_deleted(CamelStore *store, void *event_data, CamelFolderInfo *fi) mail_vfolder_remove_uri(store, fi->url); camel_object_unref((CamelObject *)store); + camel_folder_info_free(fi); } static void @@ -329,7 +332,8 @@ store_folder_unsubscribed(CamelObject *o, void *event_data, void *data) if (si) mail_async_event_emit(si->async_event, - (CamelObjectEventHookFunc)real_folder_deleted, o, si, event_data); + (CamelObjectEventHookFunc)real_folder_deleted, o, si, + camel_folder_info_clone(event_data)); } static void |