]> source.dussan.org Git - tigervnc.git/commitdiff
Avoid intersecting screen with empty clipList in vncHooksCopyArea. The
authorPeter Åstrand <astrand@cendio.se>
Mon, 7 Mar 2011 12:52:37 +0000 (12:52 +0000)
committerPeter Åstrand <astrand@cendio.se>
Mon, 7 Mar 2011 12:52:37 +0000 (12:52 +0000)
result would be empty, which means that we are not sending CopyRect
updates even though we can. Improves vertical scrolling with Firefox
and Adobe reader.

git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4324 3789f03b-4d11-0410-bbf8-ca57d06f2519

unix/xserver/hw/vnc/vncHooks.cc

index 1bf61a383893b749960ee32a7bd31795548e63a3..75191112d63f70cfba9e87d682877806704d0358 100644 (file)
@@ -816,7 +816,9 @@ static RegionPtr vncHooksCopyArea(DrawablePtr pSrc, DrawablePtr pDst,
     box.y2 = box.y1 + h;
 
     src.init(&box, 0);
-    REGION_INTERSECT(pScreen, src.reg, src.reg, &((WindowPtr)pSrc)->clipList);
+    if (REGION_NOTEMPTY(pScreen, &((WindowPtr)pSrc)->clipList)) {
+       REGION_INTERSECT(pScreen, src.reg, src.reg, &((WindowPtr)pSrc)->clipList);
+    }
     REGION_TRANSLATE(pScreen, src.reg,
                      dstx + pDst->x - srcx - pSrc->x,
                      dsty + pDst->y - srcy - pSrc->y);