aboutsummaryrefslogtreecommitdiff
path: root/swaybar/status_line.c
diff options
context:
space:
mode:
authorIan Fan <ianfan0@gmail.com>2018-09-12 08:28:28 +0100
committerIan Fan <ianfan0@gmail.com>2018-09-12 08:28:28 +0100
commit2eaef802061836dd83bbf753174fcb8488b2d8cd (patch)
tree33fcd285cc70a6cea257b1f3b6d24121d340a270 /swaybar/status_line.c
parentaf9e8f94cc0afb9f80e3902cbb83de78027cd737 (diff)
i3bar: count references to blocks
This prevents blocks from being destroyed before their hotspots are destroyed, in case it is used for a pending click event that fires between the bar receiving a new status, which destroys the block, and the bar rendering the new status, which destroys the hotspot; this problem can be easily produced by scrolling on a block that immediately causes a new status to be sent, with multiple outputs
Diffstat (limited to 'swaybar/status_line.c')
-rw-r--r--swaybar/status_line.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/swaybar/status_line.c b/swaybar/status_line.c
index bc47580b..3ba990bd 100644
--- a/swaybar/status_line.c
+++ b/swaybar/status_line.c
@@ -130,7 +130,7 @@ void status_line_free(struct status_line *status) {
case PROTOCOL_I3BAR:;
struct i3bar_block *block, *tmp;
wl_list_for_each_safe(block, tmp, &status->blocks, link) {
- i3bar_block_free(block);
+ i3bar_block_unref(block);
}
free(status->i3bar_state.buffer);
break;