diff --git a/src/advertising.c b/src/advertising.c
index 076d591..e5f2594 100644
--- a/src/advertising.c
+++ b/src/advertising.c
}
if (client->reg) {
- g_dbus_send_message(btd_get_dbus_connection(),
- dbus_message_new_method_return(client->reg));
+ DBusMessage *reply;
+
+ reply = btd_error_failed(client->reg,
+ "Failed to complete registration");
+ g_dbus_send_message(btd_get_dbus_connection(), reply);
dbus_message_unref(client->reg);
+ client->reg = NULL;
}
if (client->add_adv_id)
g_dbus_client_set_proxy_handlers(client->client, client_proxy_added,
NULL, NULL, client);
- client->reg = dbus_message_ref(msg);
-
client->data = bt_ad_new();
if (!client->data)
goto fail;
DBG("Registered advertisement at path %s", match.path);
+ client->reg = dbus_message_ref(msg);
+
queue_push_tail(manager->clients, client);
return NULL;