aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-callbacks.c
diff options
context:
space:
mode:
authorJoe Shaw <joe@ximian.com>2001-07-04 06:33:14 +0800
committerJoe Shaw <joeshaw@src.gnome.org>2001-07-04 06:33:14 +0800
commitdd5ad61e1977b67f8790d488b96d58237b095718 (patch)
tree84db2af6355aee2ecb2e7d9c36e9d87638074332 /mail/mail-callbacks.c
parent401d5cd43d5a981e137c448fdcef00d000f7d1f3 (diff)
downloadgsoc2013-evolution-dd5ad61e1977b67f8790d488b96d58237b095718.tar.gz
gsoc2013-evolution-dd5ad61e1977b67f8790d488b96d58237b095718.tar.zst
gsoc2013-evolution-dd5ad61e1977b67f8790d488b96d58237b095718.zip
If msg is NULL, fetch the message and requeue a mail_reply call. Fixes bug
2001-07-03 Joe Shaw <joe@ximian.com> * 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
Diffstat (limited to 'mail/mail-callbacks.c')
-rw-r--r--mail/mail-callbacks.c15
1 files changed, 14 insertions, 1 deletions
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));