mirror of
				https://github.com/leahneukirchen/cwm.git
				synced 2023-08-10 21:13:12 +03:00 
			
		
		
		
	Move redundant window attr fetch from maprequest directly into
client_init and perform that X roundtrip only once.
This commit is contained in:
		
							
								
								
									
										5
									
								
								client.c
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								client.c
									
									
									
									
									
								
							| @@ -63,6 +63,10 @@ client_init(Window win, struct screen_ctx *sc, int mapped) | ||||
|  | ||||
| 	if (win == None) | ||||
| 		return (NULL); | ||||
| 	if (!XGetWindowAttributes(X_Dpy, win, &wattr)) | ||||
| 		return (NULL); | ||||
| 	if (sc == NULL) | ||||
| 		sc = screen_fromroot(wattr.root); | ||||
|  | ||||
| 	cc = xcalloc(1, sizeof(*cc)); | ||||
|  | ||||
| @@ -86,7 +90,6 @@ client_init(Window win, struct screen_ctx *sc, int mapped) | ||||
| 	cc->ptr.x = -1; | ||||
| 	cc->ptr.y = -1; | ||||
|  | ||||
| 	XGetWindowAttributes(X_Dpy, cc->win, &wattr); | ||||
| 	cc->geom.x = wattr.x; | ||||
| 	cc->geom.y = wattr.y; | ||||
| 	cc->geom.w = wattr.width; | ||||
|   | ||||
| @@ -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); | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 okan
					okan