aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--e-util/ChangeLog6
-rw-r--r--e-util/e-dialog-utils.c8
2 files changed, 10 insertions, 4 deletions
diff --git a/e-util/ChangeLog b/e-util/ChangeLog
index c5714f56c7..eba2575f0e 100644
--- a/e-util/ChangeLog
+++ b/e-util/ChangeLog
@@ -1,3 +1,9 @@
+2002-06-07 Not Zed <NotZed@Ximian.com>
+
+ * e-dialog-utils.c (e_gnome_warning_dialog_parented):
+ (e_gnome_ok_cancel_dialog_parented): Use connect_while_alive, so
+ we're not called after we've quit. See bug #15397.
+
2002-06-03 Not Zed <NotZed@Ximian.com>
* e-msgport.c (e_msgport_wait): Protect against EINTR (irix?), see
diff --git a/e-util/e-dialog-utils.c b/e-util/e-dialog-utils.c
index 0102c45167..4561488abd 100644
--- a/e-util/e-dialog-utils.c
+++ b/e-util/e-dialog-utils.c
@@ -192,8 +192,8 @@ e_gnome_warning_dialog_parented (const char *warning, GtkWindow *parent)
GtkWidget *dialog;
dialog = gnome_warning_dialog_parented (warning, parent);
- gtk_signal_connect (GTK_OBJECT (parent), "destroy",
- e_gnome_dialog_parent_destroyed, dialog);
+ gtk_signal_connect_while_alive (GTK_OBJECT (parent), "destroy",
+ e_gnome_dialog_parent_destroyed, dialog, GTK_OBJECT(dialog));
return dialog;
}
@@ -205,8 +205,8 @@ e_gnome_ok_cancel_dialog_parented (const char *message, GnomeReplyCallback callb
GtkWidget *dialog;
dialog = gnome_ok_cancel_dialog_parented (message, callback, data, parent);
- gtk_signal_connect (GTK_OBJECT (parent), "destroy",
- e_gnome_dialog_parent_destroyed, dialog);
+ gtk_signal_connect_while_alive (GTK_OBJECT (parent), "destroy",
+ e_gnome_dialog_parent_destroyed, dialog, GTK_OBJECT(dialog));
return dialog;
}