aboutsummaryrefslogtreecommitdiffstats
path: root/sway
diff options
context:
space:
mode:
authorLibravatar Mikkel Oscar Lyderik <mikkeloscar@gmail.com>2016-02-24 18:53:09 +0100
committerLibravatar Mikkel Oscar Lyderik <mikkeloscar@gmail.com>2016-02-27 22:13:15 +0100
commit67bbcceba1433e41b5edfca32532b7d55a39a395 (patch)
tree6be69c67c3fbdc9cb320dd7d34b26564ff486a67 /sway
parentImprove how swaybars are spawned (diff)
downloadsway-67bbcceba1433e41b5edfca32532b7d55a39a395.tar.gz
sway-67bbcceba1433e41b5edfca32532b7d55a39a395.tar.zst
sway-67bbcceba1433e41b5edfca32532b7d55a39a395.zip
Free config before exiting sway.
Apart from freeing the sway_config struct, this also terminates the swaybars spawned by sway, since they are linked by PID to the bar config structs.
Diffstat (limited to 'sway')
-rw-r--r--sway/config.c2
-rw-r--r--sway/main.c4
2 files changed, 5 insertions, 1 deletions
diff --git a/sway/config.c b/sway/config.c
index 16adaf0d..296e164c 100644
--- a/sway/config.c
+++ b/sway/config.c
@@ -86,7 +86,7 @@ static void free_workspace_output(struct workspace_output *wo) {
86 free(wo); 86 free(wo);
87} 87}
88 88
89static void free_config(struct sway_config *config) { 89void free_config(struct sway_config *config) {
90 int i; 90 int i;
91 for (i = 0; i < config->symbols->length; ++i) { 91 for (i = 0; i < config->symbols->length; ++i) {
92 free_variable(config->symbols->items[i]); 92 free_variable(config->symbols->items[i]);
diff --git a/sway/main.c b/sway/main.c
index 7ea392b6..7c712281 100644
--- a/sway/main.c
+++ b/sway/main.c
@@ -228,6 +228,10 @@ int main(int argc, char **argv) {
228 228
229 ipc_terminate(); 229 ipc_terminate();
230 230
231 if (config) {
232 free_config(config);
233 }
234
231 return exit_value; 235 return exit_value;
232} 236}
233 237