aboutsummaryrefslogtreecommitdiffstats
path: root/xc
diff options
context:
space:
mode:
authorPeter Åstrand <astrand@cendio.se>2005-03-31 11:27:37 +0000
committerPeter Åstrand <astrand@cendio.se>2005-03-31 11:27:37 +0000
commit014f030c1fc71338b911479f179db499fec93b77 (patch)
tree49c0e71a859e2c1ad6b0d62173613da9f6ddf777 /xc
parent530a075ff378ae7a76464d291b0e412565b01048 (diff)
downloadtigervnc-014f030c1fc71338b911479f179db499fec93b77.tar.gz
tigervnc-014f030c1fc71338b911479f179db499fec93b77.zip
Correction for graphics problem when using RENDER: Sometimes,
horizontal bands of distorted pixel data is displayed. This has only been observed in the GNOME environment, and seems to be caused by vncHooksComposite being called with a negative xDst argument. The fix is simple: When this happens, return. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@281 3789f03b-4d11-0410-bbf8-ca57d06f2519
Diffstat (limited to 'xc')
-rw-r--r--xc/programs/Xserver/vnc/vncHooks.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/xc/programs/Xserver/vnc/vncHooks.cc b/xc/programs/Xserver/vnc/vncHooks.cc
index 1321bf32..c0880d9e 100644
--- a/xc/programs/Xserver/vnc/vncHooks.cc
+++ b/xc/programs/Xserver/vnc/vncHooks.cc
@@ -505,6 +505,14 @@ void vncHooksComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask,
BoxRec box;
PictureScreenPtr ps = GetPictureScreen(pScreen);
+ // For some reason, this hook is sometimes called with a negative
+ // xDst. This causes graphics errors, as well as error messages of
+ // the type:
+ // ComparingUpdateTracker: rect outside fb (-47,76-171,89)
+ // I've never observed a negative yDst, but let's check it anyway.
+ if ((xDst < 0) || (yDst < 0))
+ return;
+
box.x1 = pDst->pDrawable->x + xDst;
box.y1 = pDst->pDrawable->y + yDst;
box.x2 = box.x1 + width;