diff --git a/src/device.c b/src/device.c
index 91f8e5d..9dd657c 100644
--- a/src/device.c
+++ b/src/device.c
static gboolean att_auto_connect(gpointer user_data);
-static void attrib_destroyed(gpointer user_data)
+static void attrib_disconnected(gpointer user_data)
{
struct btd_device *device = user_data;
att_auto_connect,
device);
+ g_attrib_unref(device->attrib);
device->attrib = NULL;
}
gatt_discover_primary(req->attrib, NULL, primary_cb, req);
} else if (device->attios) {
device->attrib = g_attrib_new(io);
- g_attrib_set_destroy_function(device->attrib, attrib_destroyed,
- device);
+ g_attrib_set_disconnect_function(device->attrib,
+ attrib_disconnected, device);
g_slist_foreach(device->attios, attio_connected,
device->attrib);
}