From 1a9409a95f0eb40e4ec32bcad84ec3c2df62f58a Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Thu, 24 May 2001 03:31:24 +0000 Subject: Don't free the folder-info here, instead have mail_append_mail() call our 2001-05-23 Jeffrey Stedfast * mail-callbacks.c (composer_postpone_cb): Don't free the folder-info here, instead have mail_append_mail() call our new function, append_mail_cleanup() which'll free the folder-info. This fixes the problem of send-later segfaulting. svn path=/trunk/; revision=9958 --- mail/mail-callbacks.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'mail/mail-callbacks.c') diff --git a/mail/mail-callbacks.c b/mail/mail-callbacks.c index 778dc5f043..38734b37cf 100644 --- a/mail/mail-callbacks.c +++ b/mail/mail-callbacks.c @@ -368,6 +368,12 @@ composer_send_cb (EMsgComposer *composer, gpointer data) mail_send_mail (transport->url, message, composer_sent_cb, send); } +static void +append_mail_cleanup (CamelFolder *folder, CamelMimeMessage *msg, CamelMessageInfo *info, int ok, void *data) +{ + camel_message_info_free (info); +} + void composer_postpone_cb (EMsgComposer *composer, gpointer data) { @@ -382,9 +388,8 @@ composer_postpone_cb (EMsgComposer *composer, gpointer data) info = camel_message_info_new (); info->flags = CAMEL_MESSAGE_SEEN; - mail_append_mail (outbox_folder, message, info, NULL, NULL); + mail_append_mail (outbox_folder, message, info, append_mail_cleanup, NULL); camel_object_unref (CAMEL_OBJECT (message)); - camel_message_info_free (info); if (psd) { camel_folder_set_message_flags (psd->folder, psd->uid, psd->flags, psd->flags); -- cgit