]> git.0d.be Git - empathy.git/commitdiff
password-dialog: destroy the dialog if the handler is invalidated
authorJonny Lamb <jonnylamb@gnome.org>
Wed, 15 Dec 2010 13:57:02 +0000 (13:57 +0000)
committerJonny Lamb <jonnylamb@gnome.org>
Wed, 15 Dec 2010 13:57:02 +0000 (13:57 +0000)
Signed-off-by: Jonny Lamb <jonnylamb@gnome.org>
libempathy-gtk/empathy-password-dialog.c

index 5608bb0359a9c91b07f1aa8ed1495884e9d4e36a..442396de034de4cccfd1792c8517459d90e018ae 100644 (file)
@@ -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,