Tue Mar 22 12:47:16 2005 Søren Sandmann <sandmann@redhat.com>
authorSøren Sandmann Pedersen <sandmann@daimi.au.dk>
Tue, 22 Mar 2005 17:49:14 +0000 (17:49 +0000)
committerSøren Sandmann Pedersen <sandmann@daimi.au.dk>
Tue, 22 Mar 2005 17:49:14 +0000 (17:49 +0000)
Only validate the source if it is a viewable window. Stops the cursor
    flickering when it is above an unviewable window.

miext/damage/damage.c

index b15b5b3..913c47b 100755 (executable)
@@ -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))
     {