diff options
author | Not Zed <NotZed@Ximian.com> | 2005-06-25 01:38:12 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2005-06-25 01:38:12 +0800 |
commit | 9066b42dddc33e74a7aacb4e44125f148785280d (patch) | |
tree | 440f6e3646f711c8f9e2dfa513a664a3b6f5ca4f /mail/mail-session.c | |
parent | 0ef0eccd868f1072c988f2cadf08845824319d3c (diff) | |
download | gsoc2013-evolution-9066b42dddc33e74a7aacb4e44125f148785280d.tar.gz gsoc2013-evolution-9066b42dddc33e74a7aacb4e44125f148785280d.tar.zst gsoc2013-evolution-9066b42dddc33e74a7aacb4e44125f148785280d.zip |
** See bug #307398
2005-06-25 Not Zed <NotZed@Ximian.com>
** See bug #307398
* mail-session.c (alert_user): copy the prompt string, in 'no
cancel' mode we run asynchronously.
(free_user_message): & free it.
2005-06-24 Not Zed <NotZed@Ximian.com>
* em-format-html.c (efh_url_requested): dont pass data gtkhtml
definitely can't handle, to gtkhtml. This is no security patch,
but stops gtkhtml wasting time tying to render malicious mails or
other rubbish.
svn path=/trunk/; revision=29582
Diffstat (limited to 'mail/mail-session.c')
-rw-r--r-- | mail/mail-session.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/mail/mail-session.c b/mail/mail-session.c index ae971c5817..86961c019f 100644 --- a/mail/mail-session.c +++ b/mail/mail-session.c @@ -259,7 +259,7 @@ struct _user_message_msg { struct _mail_msg msg; CamelSessionAlertType type; - const char *prompt; + char *prompt; unsigned int allow_cancel:1; unsigned int result:1; @@ -346,7 +346,15 @@ do_user_message (struct _mail_msg *mm) } } -static struct _mail_msg_op user_message_op = { NULL, do_user_message, NULL, NULL }; +static void +free_user_message(struct _mail_msg *mm) +{ + struct _user_message_msg *m = (struct _user_message_msg *)mm; + + g_free(m->prompt); +} + +static struct _mail_msg_op user_message_op = { NULL, do_user_message, NULL, free_user_message }; static gboolean alert_user(CamelSession *session, CamelSessionAlertType type, const char *prompt, gboolean cancel) @@ -364,7 +372,7 @@ alert_user(CamelSession *session, CamelSessionAlertType type, const char *prompt m = mail_msg_new (&user_message_op, user_message_reply, sizeof (*m)); m->ismain = pthread_self() == mail_gui_thread; m->type = type; - m->prompt = prompt; + m->prompt = g_strdup(prompt); m->allow_cancel = cancel; if (m->ismain) |