From 686b85304730a7287e5ed9d44290b35495910ddb Mon Sep 17 00:00:00 2001
From: Brian Ashworth <bosrsf04@gmail.com>
Date: Tue, 15 Jan 2019 14:54:26 -0500
Subject: [PATCH] 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
---
 sway/main.c | 14 ++++++++++----
 1 file 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;
 struct sway_server server = {0};
 
 void sway_terminate(int exit_code) {
-	terminate_request = true;
-	exit_value = exit_code;
-	ipc_event_shutdown("exit");
-	wl_display_terminate(server.wl_display);
+	if (!server.wl_display) {
+		// Running as IPC client
+		exit(exit_code);
+	} else {
+		// Running as server
+		terminate_request = true;
+		exit_value = exit_code;
+		ipc_event_shutdown("exit");
+		wl_display_terminate(server.wl_display);
+	}
 }
 
 void sig_handler(int signal) {