aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy-gtk
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2011-02-24 21:29:22 +0800
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2011-02-24 21:29:24 +0800
commit677a6bf7fca3ce8e26cf02d36c2721fa03510a4d (patch)
tree88bbdc10a72f52796440db2b01905d4b3f46f5ab /libempathy-gtk
parent4d45b02f6930ef0f97096deb5f70d62252dc7f95 (diff)
downloadgsoc2013-empathy-677a6bf7fca3ce8e26cf02d36c2721fa03510a4d.tar
gsoc2013-empathy-677a6bf7fca3ce8e26cf02d36c2721fa03510a4d.tar.gz
gsoc2013-empathy-677a6bf7fca3ce8e26cf02d36c2721fa03510a4d.tar.bz2
gsoc2013-empathy-677a6bf7fca3ce8e26cf02d36c2721fa03510a4d.tar.lz
gsoc2013-empathy-677a6bf7fca3ce8e26cf02d36c2721fa03510a4d.tar.xz
gsoc2013-empathy-677a6bf7fca3ce8e26cf02d36c2721fa03510a4d.tar.zst
gsoc2013-empathy-677a6bf7fca3ce8e26cf02d36c2721fa03510a4d.zip
tls-dialog: destroy the dialog if the certificate is invalidated (#643186)
There is no point to keep it around.
Diffstat (limited to 'libempathy-gtk')
-rw-r--r--libempathy-gtk/empathy-tls-dialog.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/libempathy-gtk/empathy-tls-dialog.c b/libempathy-gtk/empathy-tls-dialog.c
index f09d6c51d..8f1f49ed6 100644
--- a/libempathy-gtk/empathy-tls-dialog.c
+++ b/libempathy-gtk/empathy-tls-dialog.c
@@ -257,6 +257,16 @@ checkbox_toggled_cb (GtkToggleButton *checkbox,
}
static void
+certificate_invalidated_cb (EmpathyTLSCertificate *certificate,
+ guint domain,
+ gint code,
+ gchar *message,
+ EmpathyTLSDialog *self)
+{
+ gtk_widget_destroy (GTK_WIDGET (self));
+}
+
+static void
empathy_tls_dialog_constructed (GObject *object)
{
GtkWidget *content_area, *expander, *details, *checkbox;
@@ -310,6 +320,9 @@ empathy_tls_dialog_constructed (GObject *object)
details = build_gcr_widget (self);
gtk_container_add (GTK_CONTAINER (expander), details);
gtk_widget_show (details);
+
+ tp_g_signal_connect_object (priv->certificate, "invalidated",
+ G_CALLBACK (certificate_invalidated_cb), self, 0);
}
static void