fixed getclient brokeness

master
Anselm R Garbe 2009-06-24 12:48:01 +01:00
parent cdb8e27453
commit 891831fe62
1 changed files with 8 additions and 5 deletions

13
dwm.c
View File

@ -829,12 +829,14 @@ focusstack(const Arg *arg) {
Client * Client *
getclient(Window w) { getclient(Window w) {
Client *c = NULL; Client *c;
Monitor *m; Monitor *m;
for(m = mons; m; m = m->next) for(m = mons; m; m = m->next)
for(c = m->clients; c && c->win != w; c = c->next); for(c = m->clients; c; c = c->next)
return c; if(c->win == w)
return c;
return NULL;
} }
unsigned long unsigned long
@ -1726,8 +1728,9 @@ updategeom(void) {
/* reassign left over clients of disappeared monitors */ /* reassign left over clients of disappeared monitors */
for(tm = mons; tm; tm = tm->next) { for(tm = mons; tm; tm = tm->next) {
while((c = tm->clients)) { while(tm->clients) {
detach(c); c = tm->clients;
tm->clients = c->next;
detachstack(c); detachstack(c);
c->mon = newmons; c->mon = newmons;
attach(c); attach(c);