[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)
{