diff options
Diffstat (limited to 'src/liana')
| -rw-r--r-- | src/liana/list.c | 8 |
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) |