summaryrefslogtreecommitdiffstats
path: root/hcid/dbus-adapter.c
diff options
context:
space:
mode:
authorClaudio Takahasi <claudio.takahasi@openbossa.org>2006-04-10 17:28:47 +0000
committerClaudio Takahasi <claudio.takahasi@openbossa.org>2006-04-10 17:28:47 +0000
commit1f98ca9b57ecd36d032449972b7b9f006ad1e06f (patch)
tree93902fb3eb844f7cc70107f78423b294ec9ed9cf /hcid/dbus-adapter.c
parent99ab0e609a4590d0027ae42d95ed1ca0b6c2e86f (diff)
Fixed discoverable timeout and timeout list data memory leak
Diffstat (limited to 'hcid/dbus-adapter.c')
-rw-r--r--hcid/dbus-adapter.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/hcid/dbus-adapter.c b/hcid/dbus-adapter.c
index 3de4b9b1..ecfe0198 100644
--- a/hcid/dbus-adapter.c
+++ b/hcid/dbus-adapter.c
@@ -386,6 +386,14 @@ static DBusHandlerResult handle_dev_set_discoverable_to_req(DBusConnection *conn
return error_invalid_arguments(conn, msg);
}
+ if (dbus_data->timeout_id) {
+ g_timeout_remove(dbus_data->timeout_id);
+ dbus_data->timeout_id = 0;
+ }
+
+ if ((timeout != 0) && (dbus_data->mode & SCAN_INQUIRY))
+ dbus_data->timeout_id = g_timeout_add(timeout, discoverable_timeout_handler, dbus_data);
+
dbus_data->discoverable_timeout = timeout;
reply = dbus_message_new_method_return(msg);