| tfixed crash on zoom if only 1 client exists - dwm - [fork] customized build of… | |
| git clone git://src.adamsgaard.dk/dwm | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| commit 6797ff84ae00d8039aa897d8b713ccdb771cd336 | |
| parent e7fa504c3e095db65853afd39d2d1324d439dcf4 | |
| Author: Anselm R. Garbe <[email protected]> | |
| Date: Fri, 14 Jul 2006 18:11:36 +0200 | |
| fixed crash on zoom if only 1 client exists | |
| Diffstat: | |
| M client.c | 12 +++++++++--- | |
| 1 file changed, 9 insertions(+), 3 deletions(-) | |
| --- | |
| diff --git a/client.c b/client.c | |
| t@@ -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; | |
| t@@ -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) |