From b5d95f264d5b08f6228e05be680ee36fc06ca6d6 Mon Sep 17 00:00:00 2001
From: Connor E <38229097+c-edw@users.noreply.github.com>
Date: Tue, 13 Nov 2018 13:45:01 +0000
Subject: Add some missing frees.

---
 sway/config/output.c | 1 +
 sway/criteria.c      | 7 ++++---
 sway/decoration.c    | 1 +
 3 files changed, 6 insertions(+), 3 deletions(-)

(limited to 'sway')

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);
 }
 
-- 
cgit v1.2.3


From eda1bf769f239a9e8d5a9907255a330e3113a649 Mon Sep 17 00:00:00 2001
From: Connor E <38229097+c-edw@users.noreply.github.com>
Date: Tue, 13 Nov 2018 14:42:00 +0000
Subject: More frees.

---
 sway/config.c         | 2 ++
 sway/config/bar.c     | 1 +
 swaybar/status_line.c | 3 +++
 swaynag/swaynag.c     | 1 +
 4 files changed, 7 insertions(+)

(limited to 'sway')

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) {
 		}
 		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
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) {
 	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/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) {
 		}
 		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
index fa6bbe05..06185f20 100644
--- 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);
-- 
cgit v1.2.3