aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEttore Perazzoli <ettore@src.gnome.org>2003-05-09 03:04:38 +0800
committerEttore Perazzoli <ettore@src.gnome.org>2003-05-09 03:04:38 +0800
commit38a69e37f28eaaf0aea485eb5872ca23eee9bab0 (patch)
tree8440dd2debc2a8392325795ae98cc990db9cb9c4
parent47a4b74f0788af977a0f039eda58485c00d101f2 (diff)
downloadgsoc2013-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/ChangeLog7
-rw-r--r--mail/mail-session.c5
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 */