diff --git a/mi/mibitblt.c b/mi/mibitblt.c index 43d9bd917..4f7e29170 100644 --- a/mi/mibitblt.c +++ b/mi/mibitblt.c @@ -92,9 +92,9 @@ miCopyArea(DrawablePtr pSrcDrawable, srcx = xIn + pSrcDrawable->x; srcy = yIn + pSrcDrawable->y; - /* If the destination isn't realized, this is easy */ + /* If the destination is clipped away, this is easy */ if (pDstDrawable->type == DRAWABLE_WINDOW && - !((WindowPtr) pDstDrawable)->realized) + RegionNil(&((WindowPtr)pDstDrawable)->clipList)) return NULL; /* clip the source */ diff --git a/mi/micopy.c b/mi/micopy.c index 12cdad4ad..4db128c4f 100644 --- a/mi/micopy.c +++ b/mi/micopy.c @@ -152,10 +152,9 @@ miDoCopy(DrawablePtr pSrcDrawable, Bool fastDst = FALSE; /* for fast clipping with one rect dest */ Bool fastExpose = FALSE; /* for fast exposures with pixmap source */ - /* Short cut for unmapped windows */ - + /* Short cut for unmapped or fully clipped windows */ if (pDstDrawable->type == DRAWABLE_WINDOW && - !((WindowPtr) pDstDrawable)->realized) { + RegionNil(&((WindowPtr)pDstDrawable)->clipList)) { return NULL; }