summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Berg <bberg@redhat.com>2018-03-28 01:36:52 +0200
committerGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2018-05-02 22:29:31 +0000
commite91266a8f0643de1166bc81431e0c7bb22782614 (patch)
treefae05bdc03a5b2c28be7343c1c34937bdf77feac
parentec50cbcdff340fbb97ab50916c9e225273be2aa9 (diff)
downloadgnome-control-center-e91266a8f0643de1166bc81431e0c7bb22782614.tar.gz
network: Fix crash on connection change after device removal
When a device is removed the callback handler could still be called because it was connected using g_signal_connect rather than g_signal_connect_object. This fixes crashes in the UI after a device has been removed again.
-rw-r--r--panels/network/net-device-ethernet.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/panels/network/net-device-ethernet.c b/panels/network/net-device-ethernet.c
index 0412facaf..afb544352 100644
--- a/panels/network/net-device-ethernet.c
+++ b/panels/network/net-device-ethernet.c
@@ -551,8 +551,8 @@ device_ethernet_constructed (GObject *object)
G_CALLBACK (add_profile), device);
client = net_object_get_client (NET_OBJECT (object));
- g_signal_connect (client, NM_CLIENT_CONNECTION_ADDED,
- G_CALLBACK (client_connection_added_cb), object);
+ g_signal_connect_object (client, NM_CLIENT_CONNECTION_ADDED,
+ G_CALLBACK (client_connection_added_cb), object, 0);
g_signal_connect_object (client, NM_CLIENT_CONNECTION_REMOVED,
G_CALLBACK (connection_removed), device, 0);