# HG changeset patch # User Shinji KONO # Date 1403527564 -32400 # Node ID 032b1bcc6ab4d6560346f9afb32e622db6da0113 # Parent 6f452c497e0ef6973c1e2d573c335568dda25943 fix ZREE decoder diff -r 6f452c497e0e -r 032b1bcc6ab4 src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEDecoder.java --- 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; diff -r 6f452c497e0e -r 032b1bcc6ab4 src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEESender.java --- 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); } }