[xserver-commit] xserver/composite compwindow.c,1.9,1.10

Keith Packard xserver-commit@pdx.freedesktop.org
Fri, 21 Nov 2003 16:49:13 -0800


Committed by: keithp

Update of /cvs/xserver/xserver/composite
In directory pdx:/tmp/cvs-serv27760/composite

Modified Files:
	compwindow.c 
Log Message:
	* composite/compwindow.c: (compCopyWindow):
	Offset for CopyWindow was wrong; resizing under twm
	demonstrated this.
	
	* miext/damage/damage.c: (damageDamageRegion):
	Clip damage to monitored drawable, not just target drawable.
	This avoids accumulating damage outside the monitored window.

	* render/mipict.c: (miClipPictureReg), (miComputeCompositeRegion):
	Clip regions for mask/src were offset wrong.
	
	* xfixes/region.c: (ProcXFixesCopyRegion), (SProcXFixesCopyRegion),
	(ProcXFixesCombineRegion), (SProcXFixesCombineRegion),
	(ProcXFixesInvertRegion), (SProcXFixesInvertRegion),
	(ProcXFixesTranslateRegion), (SProcXFixesTranslateRegion):
	* xfixes/xfixes.c: (XFixesNumberRequests):
	* xfixes/xfixesint.h:
	Eliminate offset arguments in combining operators,
	create separate CopyRegion and TranslateRegion requests.


Index: compwindow.c
===================================================================
RCS file: /cvs/xserver/xserver/composite/compwindow.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- compwindow.c	20 Nov 2003 03:31:29 -0000	1.9
+++ compwindow.c	22 Nov 2003 00:49:11 -0000	1.10
@@ -406,10 +406,12 @@
 
 	    REGION_INTERSECT(pWin->drawable.pScreen, &rgnDst,
 			     &pWin->borderClip, prgnSrc);
-	    if (pPixmap->screen_x || pPixmap->screen_y)
-		REGION_TRANSLATE (pWin->drawable.pScreen, &rgnDst, 
-				  -pPixmap->screen_x, -pPixmap->screen_y);
 	    
+	    REGION_TRANSLATE (pWin->drawable.pScreen, &rgnDst, 
+			      -pPixmap->screen_x, -pPixmap->screen_y);
+	    
+	    dx = dx + pPixmap->screen_x - cw->oldx;
+	    dy = dy + pPixmap->screen_y - cw->oldy;
 	    pGC = GetScratchGC (pPixmap->drawable.depth, pScreen);
 	    if (pGC)
 	    {