summaryrefslogtreecommitdiff
path: root/src/device.c
diff options
context:
space:
mode:
authorClaudio Takahasi <claudio.takahasi@openbossa.org>2012-06-01 14:48:38 -0300
committerJohan Hedberg <johan.hedberg@intel.com>2012-06-02 09:10:10 +0800
commit6f338a8f6ab1b79aa9e7066054bec7b4668cfa23 (patch)
tree01603163de04a10c9c8a4626150b8e8a577456cf /src/device.c
parentcc4838e601df2daee66dfd94c264cface3e67651 (diff)
downloadbluez-6f338a8f6ab1b79aa9e7066054bec7b4668cfa23.tar.gz
core: Fix connected callback not being called
ATTIO callbacks are not being added in the list when there is a connection attempt pending.
Diffstat (limited to 'src/device.c')
-rw-r--r--src/device.c21
1 files changed, 9 insertions, 12 deletions
diff --git a/src/device.c b/src/device.c
index fc8c31add..de2f0102e 100644
--- a/src/device.c
+++ b/src/device.c
@@ -3092,23 +3092,20 @@ guint btd_device_add_attio_callback(struct btd_device *device,
attio->dcfunc = dcfunc;
attio->user_data = user_data;
- if (device->attrib) {
- if (cfunc) {
- device->attios_offline =
- g_slist_append(device->attios_offline, attio);
+ if (device->attrib && cfunc) {
+ device->attios_offline = g_slist_append(device->attios_offline,
+ attio);
+ g_idle_add(notify_attios, device);
+ return attio->id;
+ }
- g_idle_add(notify_attios, device);
- } else {
- device->attios = g_slist_append(device->attios, attio);
- }
- } else if (device->auto_id == 0) {
+ device->attios = g_slist_append(device->attios, attio);
+
+ if (device->auto_id == 0)
device->auto_id = g_idle_add_full(G_PRIORITY_DEFAULT_IDLE,
att_connect, device,
att_connect_dispatched);
- device->attios = g_slist_append(device->attios, attio);
- }
-
return attio->id;
}