summaryrefslogtreecommitdiffstats
path: root/sway/config/bar.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/config/bar.c')
-rw-r--r--sway/config/bar.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/sway/config/bar.c b/sway/config/bar.c
index b8695798..f84407c9 100644
--- a/sway/config/bar.c
+++ b/sway/config/bar.c
@@ -28,6 +28,16 @@ static void terminate_swaybar(pid_t pid) {
28 } 28 }
29} 29}
30 30
31void free_bar_binding(struct bar_binding *binding) {
32 if (!binding) {
33 return;
34 }
35 if (binding->command) {
36 free(binding->command);
37 }
38 free(binding);
39}
40
31void free_bar_config(struct bar_config *bar) { 41void free_bar_config(struct bar_config *bar) {
32 if (!bar) { 42 if (!bar) {
33 return; 43 return;
@@ -39,7 +49,11 @@ void free_bar_config(struct bar_config *bar) {
39 free(bar->status_command); 49 free(bar->status_command);
40 free(bar->font); 50 free(bar->font);
41 free(bar->separator_symbol); 51 free(bar->separator_symbol);
42 // TODO: Free mouse bindings 52 while (bar->bindings->length) {
53 struct bar_binding *binding = bar->bindings->items[0];
54 list_del(bar->bindings, 0);
55 free_bar_binding(binding);
56 }
43 list_free(bar->bindings); 57 list_free(bar->bindings);
44 if (bar->outputs) { 58 if (bar->outputs) {
45 free_flat_list(bar->outputs); 59 free_flat_list(bar->outputs);