diff options
author | Ettore Perazzoli <ettore@src.gnome.org> | 2003-05-09 03:04:38 +0800 |
---|---|---|
committer | Ettore Perazzoli <ettore@src.gnome.org> | 2003-05-09 03:04:38 +0800 |
commit | 38a69e37f28eaaf0aea485eb5872ca23eee9bab0 (patch) | |
tree | 8440dd2debc2a8392325795ae98cc990db9cb9c4 | |
parent | 47a4b74f0788af977a0f039eda58485c00d101f2 (diff) | |
download | gsoc2013-evolution-38a69e37f28eaaf0aea485eb5872ca23eee9bab0.tar gsoc2013-evolution-38a69e37f28eaaf0aea485eb5872ca23eee9bab0.tar.gz gsoc2013-evolution-38a69e37f28eaaf0aea485eb5872ca23eee9bab0.tar.bz2 gsoc2013-evolution-38a69e37f28eaaf0aea485eb5872ca23eee9bab0.tar.lz gsoc2013-evolution-38a69e37f28eaaf0aea485eb5872ca23eee9bab0.tar.xz gsoc2013-evolution-38a69e37f28eaaf0aea485eb5872ca23eee9bab0.tar.zst gsoc2013-evolution-38a69e37f28eaaf0aea485eb5872ca23eee9bab0.zip |
(request_password): Make sure password_dialog is
NULLified when the dialog is destroyed in any case, using
g_object_add_weak_pointer(). Prevents a crash that could happen
if the shell would quit with the password dialog still up.
svn path=/trunk/; revision=21133
-rw-r--r-- | mail/ChangeLog | 7 | ||||
-rw-r--r-- | mail/mail-session.c | 5 |
2 files changed, 10 insertions, 2 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index c4cc81862f..6592c35127 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,10 @@ +2003-05-08 Ettore Perazzoli <ettore@ximian.com> + + * mail-session.c (request_password): Make sure password_dialog is + NULLified when the dialog is destroyed in any case, using + g_object_add_weak_pointer(). Prevents a crash that could happen + if the shell would quit with the password dialog still up. + 2003-05-07 Jeffrey Stedfast <fejj@ximian.com> * mail-display.c (mail_display_render): Make sure that we haven't diff --git a/mail/mail-session.c b/mail/mail-session.c index 61f4742479..db5695c095 100644 --- a/mail/mail-session.c +++ b/mail/mail-session.c @@ -225,9 +225,9 @@ pass_response (GtkDialog *dialog, int button, void *data) camel_exception_set (m->ex, CAMEL_EXCEPTION_USER_CANCEL, _("User canceled operation.")); break; } - + gtk_widget_destroy ((GtkWidget *) dialog); - + password_dialog = NULL; e_msgport_reply ((EMsg *)m); @@ -985,6 +985,7 @@ mail_session_set_interactive (gboolean interactive) if (password_dialog) { d(printf ("Destroying password dialogue\n")); gtk_widget_destroy ((GtkWidget *) password_dialog); + password_dialog = NULL; } /* same for pending user messages */ |