diff options
Diffstat (limited to 'mail/mail-threads.c')
-rw-r--r-- | mail/mail-threads.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/mail/mail-threads.c b/mail/mail-threads.c index 7f5e796a51..ab85daf1c6 100644 --- a/mail/mail-threads.c +++ b/mail/mail-threads.c @@ -194,8 +194,9 @@ static void show_error_clicked (GtkObject * obj); static void get_password (com_msg_t * msg); static void get_password_cb (gchar * string, gpointer data); static void get_password_clicked (GnomeDialog * dialog, gint button, - gpointer user_data); +static void get_password_deleted (GtkWidget *widget, gpointer user_data); + static gboolean progress_timeout (gpointer data); static void timeout_toggle (gboolean active); static gboolean display_timeout (gpointer data); @@ -990,6 +991,8 @@ show_error (com_msg_t * msg) err_dialog = gnome_error_dialog (msg->message); gnome_dialog_set_close (GNOME_DIALOG (err_dialog), TRUE); + gtk_signal_connect (GTK_OBJECT (err_dialog), "close", + (GtkSignalFunc) show_error_clicked, NULL); gtk_signal_connect (GTK_OBJECT (err_dialog), "clicked", (GtkSignalFunc) show_error_clicked, NULL); g_free (msg->message); @@ -1055,6 +1058,8 @@ get_password (com_msg_t * msg) gnome_dialog_set_close (GNOME_DIALOG (dialog), TRUE); gtk_signal_connect (GTK_OBJECT (dialog), "clicked", get_password_clicked, msg); + gtk_signal_connect (GTK_OBJECT (dialog), "close", + get_password_deleted, msg); /* Save the old message, but display a new one right now */ gtk_label_get (GTK_LABEL (queue_window_message), &old_message); @@ -1097,6 +1102,12 @@ get_password_cb (gchar * string, gpointer data) } static void +get_password_deleted (GtkWidget *widget, gpointer user_data) +{ + get_password_clicked (GNOME_DIALOG (widget), 1, user_data); +} + +static void get_password_clicked (GnomeDialog * dialog, gint button, gpointer user_data) { com_msg_t *msg = (com_msg_t *) user_data; |