# HG changeset patch # User Shinji KONO # Date 1580978038 -32400 # Node ID 1dd4eea9f5667b08d53a9f08f4d264cdc0cfb8a0 # Parent 4fe5db6260dcf997281875575664f678f231b075 offset manegement in ZREE blocking diff -r 4fe5db6260dc -r 1dd4eea9f566 src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEDecoder.java --- a/src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEDecoder.java Wed Feb 05 17:57:50 2020 +0900 +++ b/src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEDecoder.java Thu Feb 06 17:33:58 2020 +0900 @@ -162,6 +162,7 @@ // compression failed deflater.setInput(bytes, prevoffset, 0); output = deflater.deflate(c1, Deflater.FULL_FLUSH); + prevoffset = offset; flushRectangle(rect); flushMuticast(rfb); if (!last) { @@ -174,7 +175,7 @@ } return ; } - deflater.deflate(c1); + // deflater.deflate(c1); prevoffset = offset; width += tileW; if (c1rect.x > rect.x) { // phase 0 @@ -283,7 +284,6 @@ int tileHeight = Math.min(maxY - tileY, MAX_TILE_SIZE); if (tileloop.blocking) tileloop.c1rect.height += tileHeight; - for (int tileX = rect.x; tileX < maxX; tileX += MAX_TILE_SIZE) { int tileWidth = Math.min(maxX - tileX, MAX_TILE_SIZE); if (tileloop.blocking && tileloop.c1rect.x + tileloop.c1rect.width < rect.x + rect.width)