From 1a475582dc526fe0d494d7e21efd17040d0784b1 Mon Sep 17 00:00:00 2001 From: Jonny Lamb Date: Wed, 15 Dec 2010 13:57:02 +0000 Subject: password-dialog: destroy the dialog if the handler is invalidated Signed-off-by: Jonny Lamb --- libempathy-gtk/empathy-password-dialog.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'libempathy-gtk') diff --git a/libempathy-gtk/empathy-password-dialog.c b/libempathy-gtk/empathy-password-dialog.c index 5608bb035..442396de0 100644 --- a/libempathy-gtk/empathy-password-dialog.c +++ b/libempathy-gtk/empathy-password-dialog.c @@ -202,6 +202,13 @@ password_dialog_window_state_changed (GtkWidget *widget, return FALSE; } +static void +password_dialog_handler_invalidated_cb (EmpathyServerSASLHandler *handler, + EmpathyPasswordDialog *dialog) +{ + gtk_widget_destroy (GTK_WIDGET (dialog)); +} + static void empathy_password_dialog_constructed (GObject *object) { @@ -221,6 +228,10 @@ empathy_password_dialog_constructed (GObject *object) account = empathy_server_sasl_handler_get_account (priv->handler); + tp_g_signal_connect_object (priv->handler, "invalidated", + G_CALLBACK (password_dialog_handler_invalidated_cb), + object, 0); + /* dialog */ gtk_dialog_add_buttons (GTK_DIALOG (dialog), GTK_STOCK_OK, GTK_RESPONSE_OK, -- cgit v1.2.3