bugfix of transient handling df9fd28f
Anselm R. Garbe · 2007-02-19 15:57 1 file(s) · +8 −8
client.c +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);