commit ae81ebc

Michael Forney  ·  2015-10-13 01:48:28 +0000 UTC
parent bca425f
xserver: Don't finalize xwm if it hasn't yet been initialized
1 files changed,  +6, -2
+6, -2
 1@@ -50,6 +50,7 @@ static struct {
 2 	int display;
 3 	char display_name[16];
 4 	int abstract_fd, unix_fd, wm_fd;
 5+	bool xwm_initialized;
 6 } xserver;
 7 
 8 struct swc_xserver swc_xserver;
 9@@ -183,7 +184,9 @@ close_display(void)
10 static int
11 handle_usr1(int signal_number, void *data)
12 {
13-	if (!xwm_initialize(xserver.wm_fd)) {
14+	if (xwm_initialize(xserver.wm_fd)) {
15+		xserver.xwm_initalized = true;
16+	} else {
17 		ERROR("Failed to initialize X window manager\n");
18 		/* XXX: How do we handle this case? */
19 	}
20@@ -299,7 +302,8 @@ error0:
21 void
22 xserver_finalize(void)
23 {
24-	xwm_finalize();
25+	if (xserver.xwm_initialized)
26+		xwm_finalize();
27 	close_display();
28 	wl_client_destroy(swc_xserver.client);
29 }