diff options
author | Claudio Takahasi <claudio.takahasi@openbossa.org> | 2012-06-01 14:48:38 -0300 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@intel.com> | 2012-06-02 09:10:10 +0800 |
commit | 6f338a8f6ab1b79aa9e7066054bec7b4668cfa23 (patch) | |
tree | 01603163de04a10c9c8a4626150b8e8a577456cf /src/device.c | |
parent | cc4838e601df2daee66dfd94c264cface3e67651 (diff) | |
download | bluez-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.c | 21 |
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; } |