Browse Source

fixed crash on zoom if only 1 client exists

main
Anselm R. Garbe 18 years ago
parent
commit
6797ff84ae
1 changed files with 9 additions and 3 deletions
  1. +9
    -3
      client.c

+ 9
- 3
client.c View File

@ -28,13 +28,15 @@ next(Client *c)
void void
zoom(Arg *arg) zoom(Arg *arg)
{ {
Client **l;
Client **l, *c;
if(!sel) if(!sel)
return; 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); for(l = &clients; *l && *l != sel; l = &(*l)->next);
*l = sel->next; *l = sel->next;
@ -497,6 +499,10 @@ resize(Client *c, Bool inc)
if(c->inch) if(c->inch)
c->h -= (c->h - c->baseh) % 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) if(c->minw && c->w < c->minw)
c->w = c->minw; c->w = c->minw;
if(c->minh && c->h < c->minh) if(c->minh && c->h < c->minh)


Loading…
Cancel
Save