summary refs log tree commit diff
path: root/xevents.c
diff options
context:
space:
mode:
authorokan <okan>2014-02-02 21:34:05 +0000
committerokan <okan>2014-02-02 21:34:05 +0000
commitad76995af7e1bbae8ec81dd917def917453c379b (patch)
tree93db5a1feb568457317fc895aabc0635c2d7be53 /xevents.c
parentad1b78c6d1b466fbc2c11eec92ad5ce75bb44515 (diff)
downloadcwm-ad76995af7e1bbae8ec81dd917def917453c379b.tar.gz
cwm-ad76995af7e1bbae8ec81dd917def917453c379b.tar.xz
cwm-ad76995af7e1bbae8ec81dd917def917453c379b.zip
Move redundant window attr fetch from maprequest directly into
client_init and perform that X roundtrip only once.
Diffstat (limited to 'xevents.c')
-rw-r--r--xevents.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/xevents.c b/xevents.c
index 89d7a63..06551e8 100644
--- a/xevents.c
+++ b/xevents.c
@@ -75,17 +75,14 @@ xev_handle_maprequest(XEvent *ee)
 {
 	XMapRequestEvent	*e = &ee->xmaprequest;
 	struct client_ctx	*cc = NULL, *old_cc;
-	XWindowAttributes	 xattr;
 
 	if ((old_cc = client_current()))
 		client_ptrsave(old_cc);
 
-	if ((cc = client_find(e->window)) == NULL) {
-		XGetWindowAttributes(X_Dpy, e->window, &xattr);
-		cc = client_init(e->window, screen_fromroot(xattr.root), 1);
-	}
+	if ((cc = client_find(e->window)) == NULL)
+		cc = client_init(e->window, NULL, 1);
 
-	if ((cc->flags & CLIENT_IGNORE) == 0)
+	if ((cc != NULL) && ((cc->flags & CLIENT_IGNORE) == 0))
 		client_ptrwarp(cc);
 }