aboutsummaryrefslogtreecommitdiffstats
path: root/sway/main.c
diff options
context:
space:
mode:
authorLibravatar Brian Ashworth <bosrsf04@gmail.com>2019-01-15 14:54:26 -0500
committerLibravatar emersion <contact@emersion.fr>2019-01-15 22:41:54 +0100
commit686b85304730a7287e5ed9d44290b35495910ddb (patch)
treea27a3c61a0a016a835180ff960b78fff674e965e /sway/main.c
parentcursor: send clear_focus on hide and enter event on unhide (diff)
downloadsway-686b85304730a7287e5ed9d44290b35495910ddb.tar.gz
sway-686b85304730a7287e5ed9d44290b35495910ddb.tar.zst
sway-686b85304730a7287e5ed9d44290b35495910ddb.zip
Do not send ipc_event_shutdown from ipc client
In `sway_terminate`, `ipc_event_shutdown` was being sent regardless which mode sway was running in. When running as an ipc client, `sway_terminate` should just exit
Diffstat (limited to 'sway/main.c')
-rw-r--r--sway/main.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/sway/main.c b/sway/main.c
index 6e3f6b67..6e2f16db 100644
--- a/sway/main.c
+++ b/sway/main.c
@@ -31,10 +31,16 @@ static int exit_value = 0;
31struct sway_server server = {0}; 31struct sway_server server = {0};
32 32
33void sway_terminate(int exit_code) { 33void sway_terminate(int exit_code) {
34 terminate_request = true; 34 if (!server.wl_display) {
35 exit_value = exit_code; 35 // Running as IPC client
36 ipc_event_shutdown("exit"); 36 exit(exit_code);
37 wl_display_terminate(server.wl_display); 37 } else {
38 // Running as server
39 terminate_request = true;
40 exit_value = exit_code;
41 ipc_event_shutdown("exit");
42 wl_display_terminate(server.wl_display);
43 }
38} 44}
39 45
40void sig_handler(int signal) { 46void sig_handler(int signal) {