diff options
| author | Anselm R Garbe <garbeam@gmail.com> | 2009-06-24 12:48:01 +0100 | 
|---|---|---|
| committer | Anselm R Garbe <garbeam@gmail.com> | 2009-06-24 12:48:01 +0100 | 
| commit | 891831fe623d4062bf6ffbd9016721cc551cf511 (patch) | |
| tree | c2d319e2a4333e8bfdbcb226030b1f86973b983b | |
| parent | cdb8e274531e5e82818d90e2cc4e3b46e7fe8eb6 (diff) | |
fixed getclient brokeness
| -rw-r--r-- | dwm.c | 13 | 
1 files changed, 8 insertions, 5 deletions
@@ -829,12 +829,14 @@ focusstack(const Arg *arg) {  Client *  getclient(Window w) { -	Client *c = NULL; +	Client *c;  	Monitor *m;  	for(m = mons; m; m = m->next) -		for(c = m->clients; c && c->win != w; c = c->next); -	return c; +		for(c = m->clients; c; c = c->next) +			if(c->win == w) +				return c; +	return NULL;  }  unsigned long @@ -1726,8 +1728,9 @@ updategeom(void) {  	/* reassign left over clients of disappeared monitors */  	for(tm = mons; tm; tm = tm->next) { -		while((c = tm->clients)) { -			detach(c); +		while(tm->clients) { +			c = tm->clients; +			tm->clients = c->next;  			detachstack(c);  			c->mon = newmons;  			attach(c);  | 
