From dd5ad61e1977b67f8790d488b96d58237b095718 Mon Sep 17 00:00:00 2001 From: Joe Shaw Date: Tue, 3 Jul 2001 22:33:14 +0000 Subject: If msg is NULL, fetch the message and requeue a mail_reply call. Fixes bug 2001-07-03 Joe Shaw * mail-callbacks.c (mail_reply): If msg is NULL, fetch the message and requeue a mail_reply call. Fixes bug #3816. (requeue_mail_reply): Callback from mail_get_message(). svn path=/trunk/; revision=10772 --- mail/ChangeLog | 6 ++++++ mail/mail-callbacks.c | 15 ++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/mail/ChangeLog b/mail/ChangeLog index 9f048cffe2..78add1937b 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,9 @@ +2001-07-03 Joe Shaw + + * mail-callbacks.c (mail_reply): If msg is NULL, fetch the message + and requeue a mail_reply call. Fixes bug #3816. + (requeue_mail_reply): Callback from mail_get_message(). + 2001-07-03 Jeffrey Stedfast * mail-config.c (mail_config_get_show_preview): Use a better diff --git a/mail/mail-callbacks.c b/mail/mail-callbacks.c index cfa2cf9ba0..9deda6b17b 100644 --- a/mail/mail-callbacks.c +++ b/mail/mail-callbacks.c @@ -763,6 +763,14 @@ mail_generate_reply (CamelFolder *folder, CamelMimeMessage *message, const char return composer; } +static void +requeue_mail_reply(CamelFolder *folder, char *uid, CamelMimeMessage *msg, void *data) +{ + int mode = GPOINTER_TO_INT(data); + + mail_reply(folder, msg, uid, mode); +} + void mail_reply (CamelFolder *folder, CamelMimeMessage *msg, const char *uid, int mode) { @@ -770,9 +778,14 @@ mail_reply (CamelFolder *folder, CamelMimeMessage *msg, const char *uid, int mod struct post_send_data *psd; g_return_if_fail (folder != NULL); - g_return_if_fail (msg != NULL); g_return_if_fail (uid != NULL); + if (!msg) { + mail_get_message (folder, uid, requeue_mail_reply, + GINT_TO_POINTER(mode), mail_thread_new); + return; + } + psd = g_new (struct post_send_data, 1); psd->folder = folder; camel_object_ref (CAMEL_OBJECT (psd->folder)); -- cgit v1.2.3