diff --git a/sway/config/output.c b/sway/config/output.c index 2b041353..07543e3c 100644 --- 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 index 2f9992e9..1d404333 100644 --- 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 index 849fa89c..a6007c2e 100644 --- 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 index 1293cdae..0fd1f02e 100644 --- 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);