summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/adapter.c6
-rw-r--r--src/dbus-hci.c5
2 files changed, 6 insertions, 5 deletions
diff --git a/src/adapter.c b/src/adapter.c
index 5cd925ea..bb2e131f 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -2715,6 +2715,12 @@ void adapter_set_state(struct adapter *adapter, int state)
adapter->found_devices = NULL;
}
+ if (!discov_active && adapter->oor_devices) {
+ g_slist_foreach(adapter->oor_devices, (GFunc) g_free, NULL);
+ g_slist_free(adapter->oor_devices);
+ adapter->oor_devices = NULL;
+ }
+
dbus_connection_emit_property_changed(connection, path,
ADAPTER_INTERFACE, "Discovering",
DBUS_TYPE_BOOLEAN, &discov_active);
diff --git a/src/dbus-hci.c b/src/dbus-hci.c
index e67cb64c..69bafa4f 100644
--- a/src/dbus-hci.c
+++ b/src/dbus-hci.c
@@ -883,11 +883,6 @@ void hcid_dbus_periodic_inquiry_exit(bdaddr_t *local, uint8_t status)
state = adapter_get_state(adapter);
state &= ~PERIODIC_INQUIRY;
adapter_set_state(adapter, state);
-
- /* free out of range devices list */
- g_slist_foreach(adapter->oor_devices, (GFunc) free, NULL);
- g_slist_free(adapter->oor_devices);
- adapter->oor_devices = NULL;
}
static char *extract_eir_name(uint8_t *data, uint8_t *type)