summaryrefslogtreecommitdiffstats
path: root/swaybar/main.c
diff options
context:
space:
mode:
authorLibravatar Drew DeVault <sir@cmpwn.com>2019-02-15 16:25:28 +0100
committerLibravatar GitHub <noreply@github.com>2019-02-15 16:25:28 +0100
commitcdbf8e8b2540768cc4c82176f6510d8e6ae8f037 (patch)
treee98b9ffe575791ab9fb48e52e5339c55bff2005a /swaybar/main.c
parentapply_output_config: dpms on before modeset (diff)
parenttray: use correct parameter to set bus slot to floating (diff)
downloadsway-cdbf8e8b2540768cc4c82176f6510d8e6ae8f037.tar.gz
sway-cdbf8e8b2540768cc4c82176f6510d8e6ae8f037.tar.zst
sway-cdbf8e8b2540768cc4c82176f6510d8e6ae8f037.zip
Merge pull request #3692 from ianyfan/swaybar
Fix crash and memory leak on bar termination
Diffstat (limited to 'swaybar/main.c')
-rw-r--r--swaybar/main.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/swaybar/main.c b/swaybar/main.c
index 4ef74629..108b16e9 100644
--- a/swaybar/main.c
+++ b/swaybar/main.c
@@ -11,13 +11,7 @@
11static struct swaybar swaybar; 11static struct swaybar swaybar;
12 12
13void sig_handler(int signal) { 13void sig_handler(int signal) {
14 bar_teardown(&swaybar); 14 swaybar.running = false;
15 exit(0);
16}
17
18void sway_terminate(int code) {
19 bar_teardown(&swaybar);
20 exit(code);
21} 15}
22 16
23int main(int argc, char **argv) { 17int main(int argc, char **argv) {
@@ -93,8 +87,6 @@ int main(int argc, char **argv) {
93 } 87 }
94 } 88 }
95 89
96 signal(SIGTERM, sig_handler);
97
98 if (!bar_setup(&swaybar, socket_path)) { 90 if (!bar_setup(&swaybar, socket_path)) {
99 free(socket_path); 91 free(socket_path);
100 return 1; 92 return 1;
@@ -102,6 +94,10 @@ int main(int argc, char **argv) {
102 94
103 free(socket_path); 95 free(socket_path);
104 96
97 signal(SIGINT, sig_handler);
98 signal(SIGTERM, sig_handler);
99
100 swaybar.running = true;
105 bar_run(&swaybar); 101 bar_run(&swaybar);
106 bar_teardown(&swaybar); 102 bar_teardown(&swaybar);
107 return 0; 103 return 0;