diff options
Diffstat (limited to 'libvncserver/rfbserver.c')
-rw-r--r-- | libvncserver/rfbserver.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libvncserver/rfbserver.c b/libvncserver/rfbserver.c index 4fe2605..aa6befc 100644 --- a/libvncserver/rfbserver.c +++ b/libvncserver/rfbserver.c @@ -1221,8 +1221,9 @@ rfbSendFramebufferUpdate(cl, givenUpdateRegion) int y = rect.y1; int w = rect.x2 - x; int h = rect.y2 - y; - nUpdateRegionRects += (((w-1) / cl->correMaxWidth + 1) - * ((h-1) / cl->correMaxHeight + 1)); + int rectsPerRow = (w-1)/cl->correMaxWidth+1; + int rows = (h-1)/cl->correMaxHeight+1; + nUpdateRegionRects += rectsPerRow*rows; } sraRgnReleaseIterator(i); #ifdef LIBVNCSERVER_HAVE_LIBZ @@ -1266,6 +1267,7 @@ rfbSendFramebufferUpdate(cl, givenUpdateRegion) #ifdef LIBVNCSERVER_HAVE_LIBJPEG /* Tight encoding counts the rectangles differently */ && cl->preferredEncoding != rfbEncodingTight + && cl->preferredEncoding != rfbEncodingCoRRE #endif && nUpdateRegionRects>cl->screen->maxRectsPerUpdate) { sraRegion* newUpdateRegion = sraRgnBBox(updateRegion); |