diff options
-rw-r--r-- | mail/ChangeLog | 6 | ||||
-rw-r--r-- | mail/mail-callbacks.c | 22 |
2 files changed, 16 insertions, 12 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 8cd76d1c1c..52234c4d2e 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,9 @@ +2000-08-28 Jeffrey Stedfast <fejj@helixcode.com> + + * mail-callbacks.c (composer_send_cb): Free the from address when + we're done with it. Also, e_msg_composer_hdrs_get_from returns + alloc'd memory so don't strdup it. + 2000-08-28 Peter Williams <peterw@helixcode.com> * mail-ops.c (do_transfer_messages): Add status messages. diff --git a/mail/mail-callbacks.c b/mail/mail-callbacks.c index 90dd3d3ab9..f67557022b 100644 --- a/mail/mail-callbacks.c +++ b/mail/mail-callbacks.c @@ -215,17 +215,15 @@ composer_send_cb (EMsgComposer *composer, gpointer data) MailConfigService *xport = NULL; CamelMimeMessage *message; const char *subject; - struct post_send_data *psd = data; - + /* Config info */ - id = mail_config_get_default_identity (); xport = mail_config_get_transport (); - - /* Generate our from address */ - from = g_strdup (e_msg_composer_hdrs_get_from (E_MSG_COMPOSER_HDRS (composer->hdrs))); + /* Generate our from address */ + /* FIXME: we shouldn't need this code anymore as it's taken care of in the composer */ + from = e_msg_composer_hdrs_get_from (E_MSG_COMPOSER_HDRS (composer->hdrs)); if (!from) { CamelInternetAddress *ciaddr; @@ -236,20 +234,18 @@ composer_send_cb (EMsgComposer *composer, gpointer data) } /* Get the message */ - message = e_msg_composer_get_message (composer); - + /* Check for no subject */ - subject = camel_mime_message_get_subject (message); if (subject == NULL || subject[0] == '\0') { - if (! ask_confirm_for_empty_subject (composer)) { + if (!ask_confirm_for_empty_subject (composer)) { camel_object_unref (CAMEL_OBJECT (message)); free_psd (psd); /* will take care of psd == NULL */ return; } } - + if (psd) { mail_do_send_mail (xport->url, message, from, psd->folder, psd->uid, psd->flags, @@ -259,7 +255,9 @@ composer_send_cb (EMsgComposer *composer, gpointer data) NULL, NULL, 0, GTK_WIDGET (composer)); } - + + g_free (from); + free_psd (psd); } |