commit 484bf591be330905a4d4720efa7eb8cd16e53576
parent 47cca240e26992782622a3dc360ed3afec83b47f
Author: Drew DeVault <sir@cmpwn.com>
Date: Wed, 14 Nov 2018 21:25:26 -0500
Merge pull request #3121 from c-edw/feature/MissingFrees
[WIP] Free unfreed resources.
Diffstat:
8 files changed, 14 insertions(+), 3 deletions(-)
diff --git 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
@@ -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/sway/config/output.c b/sway/config/output.c
@@ -326,6 +326,7 @@ void free_output_config(struct output_config *oc) {
free(oc->name);
free(oc->background);
free(oc->background_option);
+ free(oc->background_fallback);
free(oc);
}
diff --git a/sway/criteria.c b/sway/criteria.c
@@ -35,18 +35,19 @@ bool criteria_is_empty(struct criteria *criteria) {
}
void criteria_destroy(struct criteria *criteria) {
+ free(criteria->raw);
+ free(criteria->cmdlist);
+ free(criteria->target);
pcre_free(criteria->title);
pcre_free(criteria->shell);
pcre_free(criteria->app_id);
+ pcre_free(criteria->con_mark);
#ifdef HAVE_XWAYLAND
pcre_free(criteria->class);
pcre_free(criteria->instance);
pcre_free(criteria->window_role);
#endif
- pcre_free(criteria->con_mark);
free(criteria->workspace);
- free(criteria->cmdlist);
- free(criteria->raw);
free(criteria);
}
diff --git a/sway/decoration.c b/sway/decoration.c
@@ -13,6 +13,7 @@ static void server_decoration_handle_destroy(struct wl_listener *listener,
wl_list_remove(&deco->destroy.link);
wl_list_remove(&deco->mode.link);
wl_list_remove(&deco->link);
+ free(deco->wlr_server_decoration);
free(deco);
}
diff --git a/swaybar/config.c b/swaybar/config.c
@@ -83,6 +83,7 @@ void free_config(struct swaybar_config *config) {
free(config->mode);
free(config->hidden_state);
free(config->sep_symbol);
+ free(config->modifier);
for (int i = 0; i < config->bindings->length; i++) {
struct swaybar_binding *binding = config->bindings->items[i];
free_binding(binding);
diff --git 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
@@ -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);