diff --git a/swaybar/status_line.c b/swaybar/status_line.c index 3ba990bd..688e5947 100644 --- a/swaybar/status_line.c +++ b/swaybar/status_line.c @@ -127,13 +127,15 @@ void status_line_free(struct status_line *status) { close(status->write_fd); kill(status->pid, SIGTERM); switch (status->protocol) { - case PROTOCOL_I3BAR:; + case PROTOCOL_I3BAR: { struct i3bar_block *block, *tmp; wl_list_for_each_safe(block, tmp, &status->blocks, link) { + wl_list_remove(&block->link); i3bar_block_unref(block); } free(status->i3bar_state.buffer); break; + } default: free(status->text_state.buffer); break;