From ba5b1b6be7d3beed85c1f6b51d5808f9a7d72b5f Mon Sep 17 00:00:00 2001 From: 5 Date: Tue, 25 Sep 2001 22:18:52 +0000 Subject: Deal with destroy vs finalise semantics. Only destroy widgets here. 2001-09-25 * folder-browser.c (folder_browser_destroy): Deal with destroy vs finalise semantics. Only destroy widgets here. (folder_browser_finalise): object finalise function, actually unref/free all other objects here. (folder_browser_class_init): Init the finalise hook. (got_folder): Check if message_list == NULL -> we've been destroyed before the thread got a chance to finish loading the folder. (folder_browser_is_drafts): Dont use a g_return_if_fail to return in what could be a valid state of the object. (folder_browser_is_sent): Likewise. (folder_browser_copy): Do nothing if message_list == NULL. * main.c (main): call mail_msg_cleanup() before leaving threads. * component-factory.c (owner_unset_cb): Wait for all outstanding operations to finish before setting up to quit. (idle_quit): Wait for all outstanding ops to finish before cleanup. (unref_standard_folders): NULL out the standard folder before unreffing it. * mail-mt.c (mail_msg_wait_all): New function to wait for all outstanding thread operations. (mail_msg_cleanup): Destroy the io channels before we're finished. Also wait for all outstanding threads first. Made public. (mail_msg_init): Dont call mail_msg_cleanup atexit automatically. svn path=/trunk/; revision=13129 --- mail/mail-mt.h | 1 + 1 file changed, 1 insertion(+) (limited to 'mail/mail-mt.h') diff --git a/mail/mail-mt.h b/mail/mail-mt.h index 8f90c3b0c7..c8717d33ac 100644 --- a/mail/mail-mt.h +++ b/mail/mail-mt.h @@ -56,6 +56,7 @@ void mail_msg_free(void *msg); void mail_msg_check_error(void *msg); void mail_msg_cancel(unsigned int msgid); void mail_msg_wait(unsigned int msgid); +void mail_msg_wait_all(void); /* request a string/password */ char *mail_get_password (CamelService *service, const char *prompt, -- cgit v1.2.3