aboutsummaryrefslogtreecommitdiffstats
path: root/sway/config.c
diff options
context:
space:
mode:
authorLibravatar frsfnrrg <frsfnrrg@users.noreply.github.com>2018-07-17 11:19:32 -0400
committerLibravatar frsfnrrg <frsfnrrg@users.noreply.github.com>2018-07-17 11:35:00 -0400
commit600676688a47bde05bc12110818127c5300dd876 (patch)
treeaa359ee81e7148668eeeba6622a5b7b381747921 /sway/config.c
parentFix uninitialized pointer in view_unmap (diff)
downloadsway-600676688a47bde05bc12110818127c5300dd876.tar.gz
sway-600676688a47bde05bc12110818127c5300dd876.tar.zst
sway-600676688a47bde05bc12110818127c5300dd876.zip
Free individual criteria in free_config
Also free cmd_list when cleaning up a struct criteria.
Diffstat (limited to 'sway/config.c')
-rw-r--r--sway/config.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sway/config.c b/sway/config.c
index 2c051146..c620e4c7 100644
--- a/sway/config.c
+++ b/sway/config.c
@@ -24,6 +24,7 @@
24#include "sway/input/seat.h" 24#include "sway/input/seat.h"
25#include "sway/commands.h" 25#include "sway/commands.h"
26#include "sway/config.h" 26#include "sway/config.h"
27#include "sway/criteria.h"
27#include "sway/tree/arrange.h" 28#include "sway/tree/arrange.h"
28#include "sway/tree/layout.h" 29#include "sway/tree/layout.h"
29#include "sway/tree/workspace.h" 30#include "sway/tree/workspace.h"
@@ -105,7 +106,12 @@ void free_config(struct sway_config *config) {
105 } 106 }
106 list_free(config->seat_configs); 107 list_free(config->seat_configs);
107 } 108 }
108 list_free(config->criteria); 109 if (config->criteria) {
110 for (int i = 0; i < config->criteria->length; ++i) {
111 criteria_destroy(config->criteria->items[i]);
112 }
113 list_free(config->criteria);
114 }
109 list_free(config->no_focus); 115 list_free(config->no_focus);
110 list_free(config->active_bar_modifiers); 116 list_free(config->active_bar_modifiers);
111 list_free(config->config_chain); 117 list_free(config->config_chain);