changeset 184:032b1bcc6ab4

fix ZREE decoder
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 23 Jun 2014 21:46:04 +0900
parents 6f452c497e0e
children feefc1e58153
files src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEDecoder.java src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEESender.java
diffstat 2 files changed, 4 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEDecoder.java	Mon Jun 23 20:37:58 2014 +0900
+++ b/src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEDecoder.java	Mon Jun 23 21:46:04 2014 +0900
@@ -40,10 +40,10 @@
 		if (0 == zippedLength) return;
 		int length = rect.width * rect.height * renderer.getBytesPerPixel();
 		byte[] bytes = unzip(reader, zippedLength, length, rect.getEncodingType());
-		decode1(reader, renderer, rect, bytes, zippedLength);
+		decode1(renderer, rect, bytes, zippedLength);
     }
     
-	public void decode1(Reader reader, Renderer renderer,
+	public void decode1(Renderer renderer,
 			FramebufferUpdateRectangle rect, byte[] bytes, int zippedLength) throws TransportException {
 		int offset = zippedLength;
 		int maxX = rect.x + rect.width;
--- a/src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEESender.java	Mon Jun 23 20:37:58 2014 +0900
+++ b/src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEESender.java	Mon Jun 23 21:46:04 2014 +0900
@@ -26,25 +26,12 @@
 		byte[] bytes = new byte[rect.width * rect.height * renderer.getBytesPerPixel()];
 		// TreeVNC handling
 		rfb.readSendData(dataLen, reader, bytes);
-		// reader is reseted read again
-
 		if (rfb.hasViewer()) {
-			reader.reset();
-		    // decode data when it is a client
-			if (!rfb.isRoot())
-				reader.readBytes(8);
-			reader.readByte();// message
-			reader.readByte();// padding
-			reader.readUInt16();// numberOfRectangle
-			reader.skypBytes(12);
 			ZRLEDecoder decoder = new ZRLEDecoder();
 			if (rfb.isRoot())
-				decoder.decode1(reader, renderer, rect, bytes, 0);
+				decoder.decode1(renderer, rect, bytes, 0);
 			else if (!rfb.getCuiVersion())
-				decoder.decode(reader, renderer, rect);
-			else {
-				reader.readBytes((int) reader.readUInt32());
-			}
+				decoder.decode1(renderer, rect,bytes,0);
 		}
 	}