changeset 609:e986dad88692

Wifimulticast flag
author tobaru
date Wed, 19 Feb 2020 16:52:04 +0900
parents 2f8fa0919582
children 705fd8d79378
files src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEDecoder.java
diffstat 1 files changed, 4 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEDecoder.java	Wed Feb 19 15:40:05 2020 +0900
+++ b/src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEDecoder.java	Wed Feb 19 16:52:04 2020 +0900
@@ -320,6 +320,7 @@
 		int maxX = rect.x + rect.width;
 		int maxY = rect.y + rect.height;
 		byte[] bytes = buf.array();
+		boolean WifiMulticast = rfbProto !=null && (rfbProto.multicastBlocking || rfbProto.getViewer().getUseMulticast());
 
 		TileLoop tileloop = new TileLoop(rfbProto, zippedLength);
 		//System.out.println("decode1: "+rect.toString());
@@ -330,7 +331,7 @@
 			decodedBitmap = new int[MAX_TILE_SIZE * MAX_TILE_SIZE];
 		}
 
-		if (rfbProto !=null && rfbProto.multicastBlocking) {
+		if (WifiMulticast) {
 			tileloop.zrleeBlocking(rfbProto, header, rect, bytes);
 		}
 		try {
@@ -369,11 +370,11 @@
 							offset += decodePacked(bytes, offset, renderer, paletteSize, tileX, tileY, tileWidth, tileHeight);
 						}
 					}
-					if (rfbProto != null && rfbProto.multicastBlocking)
+					if (WifiMulticast)
 						tileloop.multicastPut(rfbProto, false, bytes, offset, tileWidth, tileHeight);
 				}
 			}
-			if (rfbProto != null && rfbProto.multicastBlocking)
+			if (WifiMulticast)
 				tileloop.multicastPut(rfbProto, true, bytes, offset, 0, 0);
 		} catch (Exception e) {
 			e.printStackTrace();