xserver/damageext damageext.c,1.6,1.7
Keith Packard <xserver-commit-u7BhqnqprCWvj1b/[email protected]> Tue, 8 Feb 2005 14:39:25 -0800 (PST)
| Newsgroups | gmane.comp.freedesktop.xserver.cvs |
|---|---|
| Message-ID | <[email protected]> |
Committed by: keithp Update of /cvs/xserver/xserver/damageext In directory gabe:/tmp/cvs-serv18301/damageext Modified Files: damageext.c Log Message: 2005-02-08 Keith Packard <[email protected]> * composite/compalloc.c: (compRedirectWindow), (compNewPixmap), (compAllocPixmap), (compFreePixmap), (compReallocPixmap): * composite/compinit.c: (compCloseScreen), (compInstallColormap), (compAddAlternateVisuals), (compScreenInit): * composite/compint.h: * composite/compwindow.c: (compRepaintBorder), (compSetPixmapVisitWindow), (compCheckRedirect), (compPositionWindow), (compCopyWindow), (compSetRedirectBorderClip), (compWindowUpdateAutomatic): Avoid telling DDX about colormaps for synthetic visuals Fix border repainting on resize. Change pixmap allocation around * damageext/damageext.c: (DamageExtReport), (ProcDamageCreate), (ProcDamageSubtract): * dix/colormap.c: (CopyFree), (AllocColor), (AllocDirect): * fb/fbcmap.c: (fbInitVisuals): Change where the 'alpha bits' live in visuals. * include/regionstr.h: * include/scrnintstr.h: * mi/misprite.c: * miext/damage/damage.c: (getDrawableDamageRef), (damageDamageRegion), (damageCreateGC), (damageCopyArea), (damageCopyPlane), (damageRemoveDamage), (damageInsertDamage), (damageDestroyPixmap), (damageSetWindowPixmap), (DamageSetup), (DamageCreate), (DamageRegister), (DamageUnregister), (DamageDestroy), (DamageSubtract), (DamageEmpty): * miext/damage/damage.h: * miext/damage/damagestr.h: * miext/shadow/shadow.c: (shadowSetup): Check for NULL pCompositeClip in damage code. Call SourceValidate for self CopyArea/CopyPlane Change damageInsertDamage API so it doesn't require a pixmap Index: damageext.c =================================================================== RCS file: /cvs/xserver/xserver/damageext/damageext.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- damageext.c 2 Dec 2003 01:59:38 -0000 1.6 +++ damageext.c 8 Feb 2005 22:39:20 -0000 1.7 @@ -34,6 +34,8 @@ RESTYPE DamageExtType; RESTYPE DamageExtWinType; +#define prScreen screenInfo.screens[0] + static void DamageExtNotify (DamageExtPtr pDamageExt, BoxPtr pBoxes, int nBoxes) { @@ -99,7 +101,7 @@ DamageExtNotify (pDamageExt, REGION_RECTS(pRegion), REGION_NUM_RECTS(pRegion)); break; case DamageReportBoundingBox: - DamageExtNotify (pDamageExt, REGION_EXTENTS(pScreen, pRegion), 1); + DamageExtNotify (pDamageExt, REGION_EXTENTS(prScreen, pRegion), 1); break; case DamageReportNonEmpty: DamageExtNotify (pDamageExt, NullBox, 0); @@ -204,7 +206,10 @@ pDamageExt->pClient = client; pDamageExt->pDamage = DamageCreate (DamageExtReport, DamageExtDestroy, - level, FALSE, pDamageExt); + level, + FALSE, + pDrawable->pScreen, + pDamageExt); if (!pDamageExt->pDamage) { xfree (pDamageExt); @@ -255,14 +260,14 @@ if (pRepair) { if (pParts) - REGION_INTERSECT (pScreen, pParts, DamageRegion (pDamage), pRepair); + REGION_INTERSECT (prScreen, pParts, DamageRegion (pDamage), pRepair); if (DamageSubtract (pDamage, pRepair)) DamageExtReport (pDamage, DamageRegion (pDamage), (void *) pDamageExt); } else { if (pParts) - REGION_COPY (pScreen, pParts, DamageRegion (pDamage)); + REGION_COPY (prScreen, pParts, DamageRegion (pDamage)); DamageEmpty (pDamage); } }