# HG changeset patch # User Shinji KONO # Date 1581070950 -32400 # Node ID 5bc128c8e6aacb32a871042fb3893f5b95d4bdd5 # Parent c6893847c73a510994141282e5d163c971991a35 fix offset diff -r c6893847c73a -r 5bc128c8e6aa src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEDecoder.java --- a/src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEDecoder.java Fri Feb 07 17:57:05 2020 +0900 +++ b/src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEDecoder.java Fri Feb 07 19:22:30 2020 +0900 @@ -92,7 +92,7 @@ newMulticastPacket(rfb, rect); //c1.put(header.get(0)); if (!blocking) { - deflater.setInput(bytes, 0, prevoffset); + deflater.setInput(bytes, 0,(int) prevoffset); deflater.deflate(c1); flushMuticast(rfb, bytes); } @@ -162,7 +162,7 @@ if (!deflater.needsInput()) { // compression failed flushDeflator(bytes); - prevoffset += bytesRead; + prevoffset = flushOffset+(int)bytesRead; flushRectangle(rect); flushMuticast(rfb, bytes); if (last && bytesRead == span) { @@ -239,7 +239,6 @@ c1.flip(); //System.out.println("multicastPut: " + c1rect + " length: " + (c1.remaining()-c1headerPos-header.limit())); deflater.reset(); - LinkedList bufs = new LinkedList(); bufs.add(c1); rfb.getContext().checkFrameBufferRectanble(c1, checkBytes, flushOffset, prevoffset); diff -r c6893847c73a -r 5bc128c8e6aa src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java --- a/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java Fri Feb 07 17:57:05 2020 +0900 +++ b/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java Fri Feb 07 19:22:30 2020 +0900 @@ -414,7 +414,7 @@ if (buf.remaining() == span) { }else { - System.out.println("Bytes is not equal length"); + System.out.println("Bytes is not equal length "+buf.remaining()+" != "+span); } }