summaryrefslogtreecommitdiffstats
path: root/daemon/database.c
diff options
context:
space:
mode:
Diffstat (limited to 'daemon/database.c')
-rw-r--r--daemon/database.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/daemon/database.c b/daemon/database.c
index f0c8b38d..47e21915 100644
--- a/daemon/database.c
+++ b/daemon/database.c
@@ -53,6 +53,7 @@ static GSList *records = NULL;
struct record_data {
uint32_t handle;
char *sender;
+ guint listener_id;
};
static struct record_data *find_record(uint32_t handle, const char *sender)
@@ -144,7 +145,9 @@ static DBusHandlerResult add_service_record_from_xml(DBusConnection *conn,
records = g_slist_append(records, user_record);
- name_listener_add(conn, sender, exit_callback, user_record);
+ user_record->listener_id = name_listener_add(conn, sender,
+ exit_callback,
+ user_record);
reply = dbus_message_new_method_return(msg);
if (!reply)
@@ -173,7 +176,7 @@ static DBusHandlerResult remove_service_record(DBusConnection *conn,
if (!user_record)
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
- name_listener_remove(conn, sender, exit_callback, user_record);
+ name_listener_id_remove(user_record->listener_id);
remove_record_from_server(handle);