diff --git a/doc/xml/Xserver-spec.xml b/doc/xml/Xserver-spec.xml index f7b2296a22..7d7f9152ce 100644 --- a/doc/xml/Xserver-spec.xml +++ b/doc/xml/Xserver-spec.xml @@ -2958,8 +2958,7 @@ The sample server implementation is in Xserver/fb/fbscreen.c. SourceValidate should be called by CopyArea/CopyPlane primitives when -the source drawable is not the same as the destination, and the -SourceValidate function pointer in the screen is non-null. If you know that +the SourceValidate function pointer in the screen is non-null. If you know that you will never need SourceValidate, you can avoid this check. Currently, SourceValidate is used by the mi software cursor code to remove the cursor from the screen when the source rectangle overlaps the cursor position. diff --git a/hw/xfree86/xaa/xaaBitBlt.c b/hw/xfree86/xaa/xaaBitBlt.c index dfe51ea092..049dbfbe73 100644 --- a/hw/xfree86/xaa/xaaBitBlt.c +++ b/hw/xfree86/xaa/xaaBitBlt.c @@ -54,8 +54,7 @@ XAABitBlt( origDest.x = dstx; origDest.y = dsty; - if((pSrcDrawable != pDstDrawable) && - pSrcDrawable->pScreen->SourceValidate) { + if (pSrcDrawable->pScreen->SourceValidate) { (*pSrcDrawable->pScreen->SourceValidate) ( pSrcDrawable, srcx, srcy, width, height, pGC->subWindowMode); diff --git a/mi/micopy.c b/mi/micopy.c index 50e2667520..652c6207e0 100644 --- a/mi/micopy.c +++ b/mi/micopy.c @@ -183,8 +183,7 @@ miDoCopy (DrawablePtr pSrcDrawable, return NULL; } - if ((pSrcDrawable != pDstDrawable) && - pSrcDrawable->pScreen->SourceValidate) + if (pSrcDrawable->pScreen->SourceValidate) { (*pSrcDrawable->pScreen->SourceValidate) (pSrcDrawable, xIn, yIn, widthSrc, heightSrc, pGC->subWindowMode); diff --git a/miext/damage/damage.c b/miext/damage/damage.c index d0e0fe4d36..566995c412 100644 --- a/miext/damage/damage.c +++ b/miext/damage/damage.c @@ -891,17 +891,6 @@ damageCopyArea(DrawablePtr pSrc, RegionPtr ret; DAMAGE_GC_OP_PROLOGUE(pGC, pDst); - /* The driver will only call SourceValidate() when pSrc != pDst, - * but the software sprite (misprite.c) always need to know when a - * drawable is copied so it can remove the sprite. See #1030. */ - if ((pSrc == pDst) && pSrc->pScreen->SourceValidate && - pSrc->type == DRAWABLE_WINDOW && - ((WindowPtr)pSrc)->viewable) - { - (*pSrc->pScreen->SourceValidate) (pSrc, srcx, srcy, width, height, - pGC->subWindowMode); - } - if (checkGCDamage (pDst, pGC)) { BoxRec box; @@ -938,17 +927,6 @@ damageCopyPlane(DrawablePtr pSrc, RegionPtr ret; DAMAGE_GC_OP_PROLOGUE(pGC, pDst); - /* The driver will only call SourceValidate() when pSrc != pDst, - * but the software sprite (misprite.c) always need to know when a - * drawable is copied so it can remove the sprite. See #1030. */ - if ((pSrc == pDst) && pSrc->pScreen->SourceValidate && - pSrc->type == DRAWABLE_WINDOW && - ((WindowPtr)pSrc)->viewable) - { - (*pSrc->pScreen->SourceValidate) (pSrc, srcx, srcy, width, height, - pGC->subWindowMode); - } - if (checkGCDamage (pDst, pGC)) { BoxRec box;