Mercurial > hg > Applications > TreeVNC
diff src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java @ 423:ffe01c959cdd
Fix LostChild for root node
author | Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 22 Jan 2016 07:51:57 +0900 |
parents | 752788fdae03 |
children | 15836504f1a2 |
line wrap: on
line diff
--- a/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java Wed Jan 20 17:20:58 2016 +0900 +++ b/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java Fri Jan 22 07:51:57 2016 +0900 @@ -159,7 +159,7 @@ } catch (TransportException e) { if (e.getCause().getClass().getSimpleName().equals("SocketTimeoutException")) { if (rfb.isTreeManager()) { - context.sendMessage(new FramebufferUpdateRequestMessage(rfb.getX(), rfb.getY(), rfb.frameSizeWidth * rfb.getRetinaScale(), rfb.frameSizeHeight * rfb.getRetinaScale(), false)); + sendFrameBufferUpdateRequest(); } continue; } @@ -356,21 +356,24 @@ } if (rfb.isTreeManager()) { - synchronized (this) { - if (needSendPixelFormat) { - needSendPixelFormat = false; - context.setPixelFormat(pixelFormat); - context.sendMessage(new SetPixelFormatMessage(pixelFormat)); - logger.fine("sent: " + pixelFormat); - context.sendRefreshMessage(); - logger.fine("sent: nonincremental fb update"); - } else { - context.sendMessage(new FramebufferUpdateRequestMessage(rfb.getX(), rfb.getY(), rfb.frameSizeWidth * rfb.getRetinaScale(), rfb.frameSizeHeight * rfb.getRetinaScale(), false)); - } - } + sendFrameBufferUpdateRequest(); } } + synchronized private void sendFrameBufferUpdateRequest() { + if (needSendPixelFormat) { + needSendPixelFormat = false; + context.setPixelFormat(pixelFormat); + context.sendMessage(new SetPixelFormatMessage(pixelFormat)); + logger.fine("sent: " + pixelFormat); + context.sendRefreshMessage(); + logger.fine("sent: nonincremental fb update"); + } else { + context.sendMessage(new FramebufferUpdateRequestMessage(rfb.getX(), rfb.getY(), rfb.frameSizeWidth * rfb.getRetinaScale(), rfb.frameSizeHeight * rfb.getRetinaScale(), false)); + } + } + + private void sendCheckDelayReply(long time, int port, String address, int dataLen) throws UnsupportedEncodingException { context.sendMessage(new CheckDelayReply(time, port, address, dataLen)); }