]> source.dussan.org Git - tigervnc.git/commitdiff
Correction for graphics problem when using RENDER: Sometimes,
authorPeter Åstrand <astrand@cendio.se>
Thu, 31 Mar 2005 11:27:37 +0000 (11:27 +0000)
committerPeter Åstrand <astrand@cendio.se>
Thu, 31 Mar 2005 11:27:37 +0000 (11:27 +0000)
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

xc/programs/Xserver/vnc/vncHooks.cc

index 1321bf32812b5eeba083c33ecd048ac80ca470fa..c0880d9e86f10afa7d6f58a8b5471bf89918d590 100644 (file)
@@ -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;