summaryrefslogtreecommitdiff
path: root/miext/damage
diff options
context:
space:
mode:
Diffstat (limited to 'miext/damage')
-rwxr-xr-xmiext/damage/damage.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/miext/damage/damage.c b/miext/damage/damage.c
index b15b5b31c..913c47b5d 100755
--- a/miext/damage/damage.c
+++ b/miext/damage/damage.c
@@ -787,8 +787,12 @@ damageCopyPlane(DrawablePtr pSrc,
/* 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)
+ if ((pSrc == pDst) && pSrc->pScreen->SourceValidate &&
+ pSrc->type == DRAWABLE_WINDOW &&
+ ((WindowPtr)pSrc)->viewable)
+ {
(*pSrc->pScreen->SourceValidate) (pSrc, srcx, srcy, width, height);
+ }
if (checkGCDamage (pDst, pGC))
{