diff options
Diffstat (limited to 'client.c')
-rw-r--r-- | client.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/client.c b/client.c index 7bc6772..fd91af5 100644 --- a/client.c +++ b/client.c @@ -416,20 +416,18 @@ togglemax(Arg *arg) void unmanage(Client *c) { - Client **l; - XGrabServer(dpy); XSetErrorHandler(xerrordummy); XUngrabButton(dpy, AnyButton, AnyModifier, c->win); XDestroyWindow(dpy, c->title); - for(l = &clients; *l && *l != c; l = &(*l)->next); if(c->prev) c->prev->next = c->next; if(c->next) c->next->prev = c->prev; - *l = c->next; + if(c == clients) + clients = c->next; if(sel == c) { sel = getnext(c->next); if(!sel) @@ -450,7 +448,7 @@ unmanage(Client *c) void zoom(Arg *arg) { - Client *c, **l; + Client *c; if(!sel) return; @@ -461,13 +459,10 @@ zoom(Arg *arg) } /* pop */ - for(l = &clients; *l && *l != sel; l = &(*l)->next); if(sel->prev) sel->prev->next = sel->next; if(sel->next) sel->next->prev = sel->prev; - *l = sel->next; - sel->prev = NULL; if(clients) clients->prev = sel; |