sway

i3-compatible Wayland compositor
git clone https://git.awy.one/sway
Log | Files | Refs | README | LICENSE

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:
Msway/config.c | 2++
Msway/config/bar.c | 1+
Msway/config/output.c | 1+
Msway/criteria.c | 7++++---
Msway/decoration.c | 1+
Mswaybar/config.c | 1+
Mswaybar/status_line.c | 3+++
Mswaynag/swaynag.c | 1+
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);