diff options
Diffstat (limited to 'daemon/database.c')
-rw-r--r-- | daemon/database.c | 7 |
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); |