fixed issue reported by sander
ad2e77d6
2 file(s) · +6 −3
| 261 | 261 | if(trans && (tc = getclient(trans))) { |
|
| 262 | 262 | c->x = (tc->x + tc->w / 2) - (c->w / 2); |
|
| 263 | 263 | c->y = (tc->y + tc->h / 2) - (c->h / 2); |
|
| 264 | + | if(c->x < 0 || c->x >= sw) |
|
| 265 | + | c->x = (sw / 2) - (c->w / 2); |
|
| 266 | + | if(c->y < 0 || c->y >= sh) |
|
| 267 | + | c->y = ((sh - bh) / 2) - (c->h / 2) + bh; |
|
| 264 | 268 | } |
|
| 265 | 269 | else { |
|
| 266 | 270 | c->x = (sw / 2) - (c->w / 2); |
| 49 | 49 | } |
|
| 50 | 50 | if(!sel || !isvisible(sel)) |
|
| 51 | 51 | sel = getnext(clients); |
|
| 52 | - | if(sel) { |
|
| 52 | + | if(sel) |
|
| 53 | 53 | focus(sel); |
|
| 54 | - | restack(); |
|
| 55 | - | } |
|
| 56 | 54 | else |
|
| 57 | 55 | XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); |
|
| 56 | + | restack(); |
|
| 58 | 57 | } |
|
| 59 | 58 | ||
| 60 | 59 | void |