From f4af4e1d5a6a3388482c949b4a45cc5bf230516c Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Fri, 14 Sep 2018 14:11:48 +0200 Subject: [PATCH] vpn: disconnect signal handlers from proxy in NMVpnConnection::dispose() We cannot be sure who holds a reference to the proxy, and who is gonna call us back after the VPN connection instance is destroyed. (cherry picked from commit 6ebb9091d272c7af4e1eaab4a110f7de37fb2b4d) (cherry picked from commit f71f9b54a8b3ddab88ac09e9da79395409a1c8d1) (cherry picked from commit 6c1cbe4d617d4e647f8d12b199482162bab11f0b) --- src/vpn/nm-vpn-connection.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/vpn/nm-vpn-connection.c b/src/vpn/nm-vpn-connection.c index 891d6a3df5..d5a649ba03 100644 --- a/src/vpn/nm-vpn-connection.c +++ b/src/vpn/nm-vpn-connection.c @@ -2769,6 +2769,9 @@ dispose (GObject *object) NMVpnConnection *self = NM_VPN_CONNECTION (object); NMVpnConnectionPrivate *priv = NM_VPN_CONNECTION_GET_PRIVATE (self); + if (priv->proxy) + g_signal_handlers_disconnect_by_data (priv->proxy, self); + nm_clear_g_source (&priv->start_timeout); g_clear_pointer (&priv->connect_hash, g_variant_unref);