summaryrefslogtreecommitdiff
path: root/src/liana
diff options
context:
space:
mode:
Diffstat (limited to 'src/liana')
-rw-r--r--src/liana/list.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/liana/list.c b/src/liana/list.c
index a192848..059cd07 100644
--- a/src/liana/list.c
+++ b/src/liana/list.c
@@ -567,11 +567,9 @@ void lia_list_add_sink(struct lia_list *list, void (*callback)(void *, u8, struc
void lia_list_remove_sink(struct lia_list *list, void *userdata)
{
- struct lia_list_cmd *cmd = al_alloc_object(struct lia_list_cmd);
- cmd->op = REMOVE_SINK;
- cmd->userdata = userdata;
- al_array_push(list->queue, cmd);
- pump_queue(list);
+ // Don't queue remove sink because we can't let any currently queued commands
+ // touch this sink.
+ handle_remove_sink(list, userdata);
}
void lia_list_add(struct lia_list *list, void *opaque, u64 duration, wstr *name)