# HG changeset patch # User Shinji KONO # Date 1312509425 -32400 # Node ID 4199efcc4260beb95b25509cd99e8a04c85b2ed4 # Parent a8b2712de4c557d99c21f1655ae828fdb09ad8e2 Working diff -r a8b2712de4c5 -r 4199efcc4260 src/myVncProxy/ProxyVncCanvas.java --- a/src/myVncProxy/ProxyVncCanvas.java Fri Aug 05 08:57:00 2011 +0900 +++ b/src/myVncProxy/ProxyVncCanvas.java Fri Aug 05 10:57:05 2011 +0900 @@ -452,6 +452,7 @@ handleHextileRect(rx, ry, rw, rh); break; case RfbProto.EncodingZRLE: + case RfbProto.EncodingZRLEE: statNumRectsZRLE++; handleZRLERect(rx, ry, rw, rh); break; diff -r a8b2712de4c5 -r 4199efcc4260 src/myVncProxy/RfbProto.java --- a/src/myVncProxy/RfbProto.java Fri Aug 05 08:57:00 2011 +0900 +++ b/src/myVncProxy/RfbProto.java Fri Aug 05 10:57:05 2011 +0900 @@ -26,12 +26,9 @@ // import java.io.*; -import java.awt.*; import java.awt.event.*; import java.net.Socket; -import java.net.ServerSocket; import java.util.zip.*; -import java.nio.*; class RfbProto { diff -r a8b2712de4c5 -r 4199efcc4260 src/myVncProxy/VncCanvas.java --- a/src/myVncProxy/VncCanvas.java Fri Aug 05 08:57:00 2011 +0900 +++ b/src/myVncProxy/VncCanvas.java Fri Aug 05 10:57:05 2011 +0900 @@ -475,6 +475,7 @@ handleHextileRect(rx, ry, rw, rh); break; case RfbProto.EncodingZRLE: + case RfbProto.EncodingZRLEE: statNumRectsZRLE++; handleZRLERect(rx, ry, rw, rh); break; @@ -886,7 +887,7 @@ void handleZRLERect(int x, int y, int w, int h) throws Exception { if (noZRLEdecode) return; - if (zrleInStream == null) + if (zrleInStream == null || rfb.updateRectEncoding==RfbProto.EncodingZRLEE) zrleInStream = new ZlibInStream(); // System.out.println("zrleInStream.end="+zrleInStream.inflater.off);