diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2008-12-23 09:36:42 +0100 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2008-12-23 09:36:42 +0100 |
commit | c004bc8c66d7c1397c732295e5c2f3fa12f5bb2c (patch) | |
tree | 67758bbc559c957d1ee43721a5b7f01dd2f67164 | |
parent | 82e9ab56be4c34b744aacf2891e6e1ecb5ca9e5a (diff) |
Fix signal emissions when removing adapters
-rw-r--r-- | src/manager.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/manager.c b/src/manager.c index 198dd58c..3b62875f 100644 --- a/src/manager.c +++ b/src/manager.c @@ -351,12 +351,9 @@ static void manager_remove_adapter(struct btd_adapter *adapter) uint16_t dev_id = adapter_get_dev_id(adapter); const gchar *path = adapter_get_path(adapter); - manager_update_adapters(); + adapters = g_slist_remove(adapters, adapter); - g_dbus_emit_signal(connection, "/", - MANAGER_INTERFACE, "AdapterRemoved", - DBUS_TYPE_OBJECT_PATH, &path, - DBUS_TYPE_INVALID); + manager_update_adapters(); if (default_adapter_id == dev_id || default_adapter_id < 0) { int new_default = hci_get_route(NULL); @@ -364,7 +361,11 @@ static void manager_remove_adapter(struct btd_adapter *adapter) manager_set_default_adapter(new_default); } - adapters = g_slist_remove(adapters, adapter); + g_dbus_emit_signal(connection, "/", + MANAGER_INTERFACE, "AdapterRemoved", + DBUS_TYPE_OBJECT_PATH, &path, + DBUS_TYPE_INVALID); + adapter_remove(adapter); } |