diff options
-rw-r--r-- | java/src/com/tightvnc/vncviewer/VncCanvas.java | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/java/src/com/tightvnc/vncviewer/VncCanvas.java b/java/src/com/tightvnc/vncviewer/VncCanvas.java index 4cd82af2..51761c09 100644 --- a/java/src/com/tightvnc/vncviewer/VncCanvas.java +++ b/java/src/com/tightvnc/vncviewer/VncCanvas.java @@ -164,6 +164,7 @@ class VncCanvas extends Canvas correDecoder = new CoRREDecoder(memGraphics, rfbis); hextileDecoder = new HextileDecoder(memGraphics, rfbis); tightDecoder = new TightDecoder(memGraphics, rfbis); + zlibDecoder = new ZlibDecoder(memGraphics, rfbis); zrleDecoder = new ZRLEDecoder(memGraphics, rfbis); // @@ -379,6 +380,32 @@ class VncCanvas extends Canvas } } + // + // Update decoders + // + + // + // FIXME: Why decoders can be null here? + // + + if (decoders != null) { + for (int i = 0; i < decoders.length; i++) { + // + // Set changes to every decoder that we can use + // + + decoders[i].setBPP(bytesPixel); + decoders[i].setFrameBufferSize(fbWidth, fbHeight); + decoders[i].setGraphics(memGraphics); + + // + // Update decoder + // + + decoders[i].update(); + } + } + // Images with raw pixels should be re-allocated on every change // of geometry or pixel format. if (bytesPixel == 1) { |