X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fdevice.c;h=4525e30af5d561f7fb8faf8560fcdca8e536fa73;hb=4b3e19dc14b737766ae0cc670c113df10d950c57;hp=848c6f964872559249a3bb7ec24f356af8cef96d;hpb=7d436d025095baee02c665b15925b8fcf4c4007a;p=connman diff --git a/src/device.c b/src/device.c index 848c6f9..4525e30 100644 --- a/src/device.c +++ b/src/device.c @@ -1714,17 +1714,25 @@ void __connman_device_set_network(struct connman_device *device, { const char *name; + if (device->network == network) + return; + + if (device->network != NULL) + connman_network_unref(device->network); + if (network != NULL) { name = connman_network_get_string(network, CONNMAN_PROPERTY_ID_NAME); g_free(device->last_network); device->last_network = g_strdup(name); + + device->network = connman_network_ref(network); } else { g_free(device->last_network); device->last_network = NULL; - } - device->network = network; + device->network = NULL; + } } /**