aboutsummaryrefslogtreecommitdiffstats
path: root/mail
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
parent401d5cd43d5a981e137c448fdcef00d000f7d1f3 (diff)
downloadgsoc2013-evolution-dd5ad61e1977b67f8790d488b96d58237b095718.tar
gsoc2013-evolution-dd5ad61e1977b67f8790d488b96d58237b095718.tar.gz
gsoc2013-evolution-dd5ad61e1977b67f8790d488b96d58237b095718.tar.bz2
gsoc2013-evolution-dd5ad61e1977b67f8790d488b96d58237b095718.tar.lz
gsoc2013-evolution-dd5ad61e1977b67f8790d488b96d58237b095718.tar.xz
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')
-rw-r--r--mail/ChangeLog6
-rw-r--r--mail/mail-callbacks.c15
2 files changed, 20 insertions, 1 deletions
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 <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().
+
2001-07-03 Jeffrey Stedfast <fejj@ximian.com>
* 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));