diff options
| author | Anselm R. Garbe <garbeam@wmii.de> | 2006-07-14 18:11:36 +0200 | 
|---|---|---|
| committer | Anselm R. Garbe <garbeam@wmii.de> | 2006-07-14 18:11:36 +0200 | 
| commit | 6797ff84ae00d8039aa897d8b713ccdb771cd336 (patch) | |
| tree | 2fcbdc12321f9bc483f6ab462c03896a44536943 | |
| parent | e7fa504c3e095db65853afd39d2d1324d439dcf4 (diff) | |
fixed crash on zoom if only 1 client exists
| -rw-r--r-- | client.c | 12 | 
1 files changed, 9 insertions, 3 deletions
| @@ -28,13 +28,15 @@ next(Client *c)  void  zoom(Arg *arg)  { -	Client **l; +	Client **l, *c;  	if(!sel)  		return; -	if(sel == next(clients))  -		sel = next(sel->next); +	if(sel == next(clients) && sel->next)  { +		if((c = next(sel->next))) +			sel = c; +	}  	for(l = &clients; *l && *l != sel; l = &(*l)->next);  	*l = sel->next; @@ -497,6 +499,10 @@ resize(Client *c, Bool inc)  		if(c->inch)  			c->h -= (c->h - c->baseh) % c->inch;  	} +	if(c->x > sw) /* might happen on restart */ +		c->x = sw - c->w; +	if(c->y > sh) +		c->ty = c->y = sh - c->h;  	if(c->minw && c->w < c->minw)  		c->w = c->minw;  	if(c->minh && c->h < c->minh) | 
