bugfix of transient handling
df9fd28f
1 file(s) · +8 −8
| 240 | 240 | c->y = way; |
|
| 241 | 241 | } |
|
| 242 | 242 | updatesizehints(c); |
|
| 243 | - | XSelectInput(dpy, c->win, |
|
| 243 | + | XSelectInput(dpy, w, |
|
| 244 | 244 | StructureNotifyMask | PropertyChangeMask | EnterWindowMask); |
|
| 245 | - | XGetTransientForHint(dpy, c->win, &trans); |
|
| 245 | + | XGetTransientForHint(dpy, w, &trans); |
|
| 246 | 246 | grabbuttons(c, False); |
|
| 247 | 247 | wc.border_width = c->border; |
|
| 248 | - | XConfigureWindow(dpy, c->win, CWBorderWidth, &wc); |
|
| 249 | - | XSetWindowBorder(dpy, c->win, dc.norm[ColBorder]); |
|
| 248 | + | XConfigureWindow(dpy, w, CWBorderWidth, &wc); |
|
| 249 | + | XSetWindowBorder(dpy, w, dc.norm[ColBorder]); |
|
| 250 | 250 | configure(c); /* propagates border_width, if size doesn't change */ |
|
| 251 | 251 | updatetitle(c); |
|
| 252 | - | for(t = clients; t && t->win != c->win; t = t->next); |
|
| 252 | + | for(t = clients; t && t->win != trans; t = t->next); |
|
| 253 | 253 | settags(c, t); |
|
| 254 | 254 | if(!c->isfloat) |
|
| 255 | - | c->isfloat = (t != 0) || c->isfixed; |
|
| 255 | + | c->isfloat = (t != NULL) || c->isfixed; |
|
| 256 | 256 | attach(c); |
|
| 257 | 257 | attachstack(c); |
|
| 258 | 258 | c->isbanned = True; |
|
| 259 | - | XMoveWindow(dpy, c->win, c->x + 2 * sw, c->y); |
|
| 260 | - | XMapWindow(dpy, c->win); |
|
| 259 | + | XMoveWindow(dpy, w, c->x + 2 * sw, c->y); |
|
| 260 | + | XMapWindow(dpy, w); |
|
| 261 | 261 | setclientstate(c, NormalState); |
|
| 262 | 262 | if(isvisible(c)) |
|
| 263 | 263 | focus(c); |