From 6c1cbe4d617d4e647f8d12b199482162bab11f0b 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) --- 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 d87ce20468..91acf07e77 100644 --- a/src/vpn/nm-vpn-connection.c +++ b/src/vpn/nm-vpn-connection.c @@ -2762,6 +2762,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);