diff options
author | Brian Ashworth <bosrsf04@gmail.com> | 2019-01-15 14:54:26 -0500 |
---|---|---|
committer | emersion <contact@emersion.fr> | 2019-01-15 22:41:54 +0100 |
commit | 686b85304730a7287e5ed9d44290b35495910ddb (patch) | |
tree | a27a3c61a0a016a835180ff960b78fff674e965e /sway/main.c | |
parent | cursor: send clear_focus on hide and enter event on unhide (diff) | |
download | sway-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.c | 14 |
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; | |||
31 | struct sway_server server = {0}; | 31 | struct sway_server server = {0}; |
32 | 32 | ||
33 | void sway_terminate(int exit_code) { | 33 | void 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 | ||
40 | void sig_handler(int signal) { | 46 | void sig_handler(int signal) { |