From 38a69e37f28eaaf0aea485eb5872ca23eee9bab0 Mon Sep 17 00:00:00 2001 From: Ettore Perazzoli Date: Thu, 8 May 2003 19:04:38 +0000 Subject: (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 --- mail/ChangeLog | 7 +++++++ 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 + + * 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 * 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 */ -- cgit