changeset 571:1dd4eea9f566

offset manegement in ZREE blocking
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 06 Feb 2020 17:33:58 +0900
parents 4fe5db6260dc
children a0eeba3ee5d4
files src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEDecoder.java
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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)