diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/bluetooth.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/plugins/bluetooth.c b/plugins/bluetooth.c index b06460a1..2ab29a68 100644 --- a/plugins/bluetooth.c +++ b/plugins/bluetooth.c @@ -660,6 +660,8 @@ static void adapter_properties_reply(DBusPendingCall *call, void *user_data) if (device != NULL) goto update; + g_hash_table_insert(bluetooth_devices, g_strdup(path), device); + ether_aton_r(address, &addr); snprintf(ident, 13, "%02x%02x%02x%02x%02x%02x", @@ -680,11 +682,10 @@ static void adapter_properties_reply(DBusPendingCall *call, void *user_data) if (connman_device_register(device) < 0) { connman_device_unref(device); + g_hash_table_remove(bluetooth_devices, path); goto done; } - g_hash_table_insert(bluetooth_devices, g_strdup(path), device); - update: connman_device_set_string(device, "Address", address); connman_device_set_string(device, "Name", name); |