sway

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

commit 600676688a47bde05bc12110818127c5300dd876
parent b3014f7b168eb074bd071ee7cb930d74158a2895
Author: frsfnrrg <frsfnrrg@users.noreply.github.com>
Date:   Tue, 17 Jul 2018 11:19:32 -0400

Free individual criteria in free_config

Also free cmd_list when cleaning up a struct criteria.

Diffstat:
Msway/config.c | 8+++++++-
Msway/criteria.c | 2+-
2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/sway/config.c b/sway/config.c @@ -24,6 +24,7 @@ #include "sway/input/seat.h" #include "sway/commands.h" #include "sway/config.h" +#include "sway/criteria.h" #include "sway/tree/arrange.h" #include "sway/tree/layout.h" #include "sway/tree/workspace.h" @@ -105,7 +106,12 @@ void free_config(struct sway_config *config) { } list_free(config->seat_configs); } - list_free(config->criteria); + if (config->criteria) { + for (int i = 0; i < config->criteria->length; ++i) { + criteria_destroy(config->criteria->items[i]); + } + list_free(config->criteria); + } list_free(config->no_focus); list_free(config->active_bar_modifiers); list_free(config->config_chain); diff --git a/sway/criteria.c b/sway/criteria.c @@ -37,7 +37,7 @@ void criteria_destroy(struct criteria *criteria) { pcre_free(criteria->con_mark); pcre_free(criteria->window_role); free(criteria->workspace); - + free(criteria->cmdlist); free(criteria->raw); free(criteria); }