# HG changeset patch # User Anselm R. Garbe # Date 1152893496 -7200 # Node ID a0272d97ec7c3a3ab540c478b635594fd4a83afc # Parent 50450aa24a46cf1e926ea39f6ee8c067951a734c fixed crash on zoom if only 1 client exists diff -r 50450aa24a46 -r a0272d97ec7c client.c --- a/client.c Fri Jul 14 17:43:56 2006 +0200 +++ b/client.c Fri Jul 14 18:11:36 2006 +0200 @@ -28,13 +28,15 @@ 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 @@ 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)