]> Pileus Git - wmpus/blobdiff - sys-x11.c
Fix closing focused window
[wmpus] / sys-x11.c
index f475a83bd015c182f7734f6042ba5a19b59310ff..1a833da3b23a033e22d81ea767a8fb91a1f29dd0 100644 (file)
--- a/sys-x11.c
+++ b/sys-x11.c
@@ -61,6 +61,7 @@ typedef enum {
 
 /* Global data */
 static win_t *root;
+static win_t *last;
 static int   running;
 static void *cache;
 static Atom atoms[NATOMS];
@@ -299,6 +300,8 @@ static win_t *win_find(Display *dpy, Window xid, int create)
 
 static void win_free(win_t *win)
 {
+       if (win == last)
+               last = NULL;
        free(win->sys);
        free(win);
 }
@@ -569,7 +572,6 @@ void sys_focus(win_t *win)
        //win_msg(win, WM_FOCUS);
 
        /* Set border on focused window */
-       static win_t *last = NULL;
        if (last)
                XSetWindowBorder(last->sys->dpy, last->sys->xid, colors[CLR_UNFOCUS]);
        XSync(win->sys->dpy, False);