diff --git a/sway/config.c b/sway/config.c index c1320acfe..e9b550614 100644 --- a/sway/config.c +++ b/sway/config.c @@ -123,6 +123,8 @@ void free_config(struct sway_config *config) { } list_free(config->criteria); } + free_mode(config->current_mode); + free_bar_config(config->current_bar); list_free(config->no_focus); list_free(config->active_bar_modifiers); list_free(config->config_chain); diff --git a/sway/config/bar.c b/sway/config/bar.c index 8b88642e8..7bca5f498 100644 --- a/sway/config/bar.c +++ b/sway/config/bar.c @@ -46,6 +46,7 @@ void free_bar_config(struct bar_config *bar) { free(bar->position); free(bar->hidden_state); free(bar->status_command); + free(bar->swaybar_command); free(bar->font); free(bar->separator_symbol); for (int i = 0; i < bar->bindings->length; i++) { diff --git a/swaybar/status_line.c b/swaybar/status_line.c index 65d6c0521..744d2785c 100644 --- a/swaybar/status_line.c +++ b/swaybar/status_line.c @@ -183,6 +183,9 @@ void status_line_free(struct status_line *status) { } json_tokener_free(status->tokener); } + free(status->read); + free(status->write); + free((char*) status->text); free(status->buffer); free(status); } diff --git a/swaynag/swaynag.c b/swaynag/swaynag.c index fa6bbe057..06185f204 100644 --- a/swaynag/swaynag.c +++ b/swaynag/swaynag.c @@ -412,6 +412,7 @@ void swaynag_destroy(struct swaynag *swaynag) { free(button); } list_free(swaynag->buttons); + free(swaynag->details.button_details); free(swaynag->details.message); free(swaynag->details.button_up.text); free(swaynag->details.button_down.text);