swc

Unnamed repository; edit this file 'description' to name the repository.
git clone git://git.nihaljere.xyz/swc
Log | Files | Refs | README | LICENSE

commit ae81ebccd232391ba270c2007c29e2b1920121e5
parent bca425f1cd85e4893e190e6da9a4e464deb11386
Author: Michael Forney <mforney@mforney.org>
Date:   Mon, 12 Oct 2015 18:48:28 -0700

xserver: Don't finalize xwm if it hasn't yet been initialized

Diffstat:
Mlibswc/xserver.c | 8++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/libswc/xserver.c b/libswc/xserver.c @@ -50,6 +50,7 @@ static struct { int display; char display_name[16]; int abstract_fd, unix_fd, wm_fd; + bool xwm_initialized; } xserver; struct swc_xserver swc_xserver; @@ -183,7 +184,9 @@ close_display(void) static int handle_usr1(int signal_number, void *data) { - if (!xwm_initialize(xserver.wm_fd)) { + if (xwm_initialize(xserver.wm_fd)) { + xserver.xwm_initalized = true; + } else { ERROR("Failed to initialize X window manager\n"); /* XXX: How do we handle this case? */ } @@ -299,7 +302,8 @@ error0: void xserver_finalize(void) { - xwm_finalize(); + if (xserver.xwm_initialized) + xwm_finalize(); close_display(); wl_client_destroy(swc_xserver.client); }