From cc95e597b51f06e835c6a9def1bc6681029bf41e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Sandmann=20Pedersen?= Date: Tue, 22 Mar 2005 17:49:14 +0000 Subject: [PATCH] =?UTF-8?q?Tue=20Mar=2022=2012:47:16=202005=20S=C3=B8ren?= =?UTF-8?q?=20Sandmann=20=20Only=20validate=20the=20s?= =?UTF-8?q?ource=20if=20it=20is=20a=20viewable=20window.=20Stops=20the=20c?= =?UTF-8?q?ursor=20=20=20=20=20flickering=20when=20it=20is=20above=20an=20?= =?UTF-8?q?unviewable=20window.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- miext/damage/damage.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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)) {