aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Drew DeVault <sir@cmpwn.com>2018-11-14 21:25:26 -0500
committerLibravatar GitHub <noreply@github.com>2018-11-14 21:25:26 -0500
commit484bf591be330905a4d4720efa7eb8cd16e53576 (patch)
tree27a33ba71b34918c98b4c3c120a999bd9b8488aa
parentMerge pull request #3102 from emersion/render-software-cursors (diff)
parentMore frees. (diff)
downloadsway-484bf591be330905a4d4720efa7eb8cd16e53576.tar.gz
sway-484bf591be330905a4d4720efa7eb8cd16e53576.tar.zst
sway-484bf591be330905a4d4720efa7eb8cd16e53576.zip
Merge pull request #3121 from c-edw/feature/MissingFrees
[WIP] Free unfreed resources.
-rw-r--r--sway/config.c2
-rw-r--r--sway/config/bar.c1
-rw-r--r--sway/config/output.c1
-rw-r--r--sway/criteria.c7
-rw-r--r--sway/decoration.c1
-rw-r--r--swaybar/config.c1
-rw-r--r--swaybar/status_line.c3
-rw-r--r--swaynag/swaynag.c1
8 files changed, 14 insertions, 3 deletions
diff --git a/sway/config.c b/sway/config.c
index c1320acf..e9b55061 100644
--- a/sway/config.c
+++ b/sway/config.c
@@ -123,6 +123,8 @@ void free_config(struct sway_config *config) {
123 } 123 }
124 list_free(config->criteria); 124 list_free(config->criteria);
125 } 125 }
126 free_mode(config->current_mode);
127 free_bar_config(config->current_bar);
126 list_free(config->no_focus); 128 list_free(config->no_focus);
127 list_free(config->active_bar_modifiers); 129 list_free(config->active_bar_modifiers);
128 list_free(config->config_chain); 130 list_free(config->config_chain);
diff --git a/sway/config/bar.c b/sway/config/bar.c
index 8b88642e..7bca5f49 100644
--- a/sway/config/bar.c
+++ b/sway/config/bar.c
@@ -46,6 +46,7 @@ void free_bar_config(struct bar_config *bar) {
46 free(bar->position); 46 free(bar->position);
47 free(bar->hidden_state); 47 free(bar->hidden_state);
48 free(bar->status_command); 48 free(bar->status_command);
49 free(bar->swaybar_command);
49 free(bar->font); 50 free(bar->font);
50 free(bar->separator_symbol); 51 free(bar->separator_symbol);
51 for (int i = 0; i < bar->bindings->length; i++) { 52 for (int i = 0; i < bar->bindings->length; i++) {
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) {
326 free(oc->name); 326 free(oc->name);
327 free(oc->background); 327 free(oc->background);
328 free(oc->background_option); 328 free(oc->background_option);
329 free(oc->background_fallback);
329 free(oc); 330 free(oc);
330} 331}
331 332
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) {
35} 35}
36 36
37void criteria_destroy(struct criteria *criteria) { 37void criteria_destroy(struct criteria *criteria) {
38 free(criteria->raw);
39 free(criteria->cmdlist);
40 free(criteria->target);
38 pcre_free(criteria->title); 41 pcre_free(criteria->title);
39 pcre_free(criteria->shell); 42 pcre_free(criteria->shell);
40 pcre_free(criteria->app_id); 43 pcre_free(criteria->app_id);
44 pcre_free(criteria->con_mark);
41#ifdef HAVE_XWAYLAND 45#ifdef HAVE_XWAYLAND
42 pcre_free(criteria->class); 46 pcre_free(criteria->class);
43 pcre_free(criteria->instance); 47 pcre_free(criteria->instance);
44 pcre_free(criteria->window_role); 48 pcre_free(criteria->window_role);
45#endif 49#endif
46 pcre_free(criteria->con_mark);
47 free(criteria->workspace); 50 free(criteria->workspace);
48 free(criteria->cmdlist);
49 free(criteria->raw);
50 free(criteria); 51 free(criteria);
51} 52}
52 53
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,
13 wl_list_remove(&deco->destroy.link); 13 wl_list_remove(&deco->destroy.link);
14 wl_list_remove(&deco->mode.link); 14 wl_list_remove(&deco->mode.link);
15 wl_list_remove(&deco->link); 15 wl_list_remove(&deco->link);
16 free(deco->wlr_server_decoration);
16 free(deco); 17 free(deco);
17} 18}
18 19
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) {
83 free(config->mode); 83 free(config->mode);
84 free(config->hidden_state); 84 free(config->hidden_state);
85 free(config->sep_symbol); 85 free(config->sep_symbol);
86 free(config->modifier);
86 for (int i = 0; i < config->bindings->length; i++) { 87 for (int i = 0; i < config->bindings->length; i++) {
87 struct swaybar_binding *binding = config->bindings->items[i]; 88 struct swaybar_binding *binding = config->bindings->items[i];
88 free_binding(binding); 89 free_binding(binding);
diff --git a/swaybar/status_line.c b/swaybar/status_line.c
index 65d6c052..744d2785 100644
--- a/swaybar/status_line.c
+++ b/swaybar/status_line.c
@@ -183,6 +183,9 @@ void status_line_free(struct status_line *status) {
183 } 183 }
184 json_tokener_free(status->tokener); 184 json_tokener_free(status->tokener);
185 } 185 }
186 free(status->read);
187 free(status->write);
188 free((char*) status->text);
186 free(status->buffer); 189 free(status->buffer);
187 free(status); 190 free(status);
188} 191}
diff --git a/swaynag/swaynag.c b/swaynag/swaynag.c
index fa6bbe05..06185f20 100644
--- a/swaynag/swaynag.c
+++ b/swaynag/swaynag.c
@@ -412,6 +412,7 @@ void swaynag_destroy(struct swaynag *swaynag) {
412 free(button); 412 free(button);
413 } 413 }
414 list_free(swaynag->buttons); 414 list_free(swaynag->buttons);
415 free(swaynag->details.button_details);
415 free(swaynag->details.message); 416 free(swaynag->details.message);
416 free(swaynag->details.button_up.text); 417 free(swaynag->details.button_up.text);
417 free(swaynag->details.button_down.text); 418 free(swaynag->details.button_down.text);