diff options
author | Benjamin Berg <bberg@redhat.com> | 2018-05-24 18:14:50 +0200 |
---|---|---|
committer | Benjamin Berg <bberg@redhat.com> | 2018-05-29 15:10:51 +0200 |
commit | ae50438c13bb7f16e81a955900f1bf3d7ada9fdb (patch) | |
tree | f394db558ebe414befa8c495150cd3702649f986 | |
parent | 61471f281813107fb0464e8c023f1cffa86f5731 (diff) | |
download | gnome-control-center-ae50438c13bb7f16e81a955900f1bf3d7ada9fdb.tar.gz |
network: Fix disconnecting of connection_removed_cb handler
The disconnect was for the wrong object (connection rather than client).
Fix this by simply moving to use g_signal_connect_object which obsoletes
the explicit disconnect calls.
-rw-r--r-- | panels/network/net-vpn.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/panels/network/net-vpn.c b/panels/network/net-vpn.c index 920db0773..490cfee46 100644 --- a/panels/network/net-vpn.c +++ b/panels/network/net-vpn.c @@ -112,14 +112,14 @@ net_vpn_set_connection (NetVpn *vpn, NMConnection *connection) priv->connection = g_object_ref (connection); client = net_object_get_client (NET_OBJECT (vpn)); - g_signal_connect (client, + g_signal_connect_object (client, NM_CLIENT_CONNECTION_REMOVED, G_CALLBACK (connection_removed_cb), - vpn); - g_signal_connect (connection, + vpn, 0); + g_signal_connect_object (connection, NM_CONNECTION_CHANGED, G_CALLBACK (connection_changed_cb), - vpn); + vpn, 0); priv->service_type = net_vpn_connection_to_type (priv->connection); } @@ -384,12 +384,6 @@ net_vpn_finalize (GObject *object) g_object_unref (priv->active_connection); } - g_signal_handlers_disconnect_by_func (priv->connection, - connection_removed_cb, - vpn); - g_signal_handlers_disconnect_by_func (priv->connection, - connection_changed_cb, - vpn); g_object_unref (priv->connection); g_free (priv->service_type); |