summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garcia Campos <cgarcia@igalia.com>2018-04-20 12:14:55 +0200
committerCarlos Garcia Campos <carlosgc@gnome.org>2018-04-20 12:19:19 +0200
commite8995d4e1d5cf984cf10327c59808976425b2f9c (patch)
treea840d0f844e90747f3f27a41bba60ff7e348c4f2
parent7f47360ec49fa82d5119258dfe860c232cb70642 (diff)
downloadlibsoup-e8995d4e1d5cf984cf10327c59808976425b2f9c.tar.gz
soup-socket: fix critical warning when the peer-certificate changes after disconnect
(process:15586): GLib-GIO-CRITICAL **: 12:14:39.627: g_tls_connection_get_peer_certificate_errors: assertion 'G_IS_TLS_CONNECTION (conn)' failed We should disconnect the signal on disconnect_internal before clearing the connection object.
-rw-r--r--libsoup/soup-socket.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/libsoup/soup-socket.c b/libsoup/soup-socket.c
index 5363dc72..311c627c 100644
--- a/libsoup/soup-socket.c
+++ b/libsoup/soup-socket.c
@@ -188,6 +188,7 @@ disconnect_internal (SoupSocket *sock, gboolean close)
g_clear_object (&priv->gsock);
if (priv->conn && close) {
g_io_stream_close (priv->conn, NULL, NULL);
+ g_signal_handlers_disconnect_by_data (priv->conn, sock);
g_clear_object (&priv->conn);
}