network: Fix more potential crashers for WWAN

And virtual devices. Again, listening on the long-lasting client
object but expecting the user_data (the object) to be around when
it might have been destroyed already.

https://bugzilla.gnome.org/show_bug.cgi?id=735932
This commit is contained in:
Bastien Nocera 2014-09-03 13:23:20 +02:00
parent a19c7ec977
commit c515a6e67e
2 changed files with 7 additions and 7 deletions

View file

@ -767,9 +767,9 @@ net_device_mobile_constructed (GObject *object)
}
client = net_object_get_client (NET_OBJECT (device_mobile));
g_signal_connect (client, "notify::wwan-enabled",
G_CALLBACK (mobilebb_enabled_toggled),
device_mobile);
g_signal_connect_object (client, "notify::wwan-enabled",
G_CALLBACK (mobilebb_enabled_toggled),
device_mobile, 0);
nm_device_mobile_refresh_ui (device_mobile);
}

View file

@ -323,10 +323,10 @@ net_virtual_device_constructed (GObject *object)
client = net_object_get_client (NET_OBJECT (virtual_device));
g_signal_connect (client, "device-added",
G_CALLBACK (device_added_cb), virtual_device);
g_signal_connect (client, "device-removed",
G_CALLBACK (device_removed_cb), virtual_device);
g_signal_connect_object (client, "device-added",
G_CALLBACK (device_added_cb), virtual_device, 0);
g_signal_connect_object (client, "device-removed",
G_CALLBACK (device_removed_cb), virtual_device, 0);
devices = nm_client_get_devices (client);
if (devices) {
for (i = 0; i < devices->len; i++)