# HG changeset patch # User oshiro # Date 1548843657 -32400 # Node ID f06b0d50e4e2a37dd9d411ec7734231172b053d6 # Parent 101b8a3ed8e467d3157a638f4fb9760c15c2c915# Parent 59cde26249b190ba407b95b1f9cd6ace563a3df9 merge diff -r 101b8a3ed8e4 -r f06b0d50e4e2 .idea/compiler.xml --- a/.idea/compiler.xml Wed Jan 30 19:20:15 2019 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff -r 101b8a3ed8e4 -r f06b0d50e4e2 .idea/gradle.xml --- a/.idea/gradle.xml Wed Jan 30 19:20:15 2019 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ - - - - - - \ No newline at end of file diff -r 101b8a3ed8e4 -r f06b0d50e4e2 .idea/misc.xml --- a/.idea/misc.xml Wed Jan 30 19:20:15 2019 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13 +0,0 @@ - - - - - - - - - \ No newline at end of file diff -r 101b8a3ed8e4 -r f06b0d50e4e2 src/main/java/com/glavsoft/rfb/client/FramebufferUpdateRequestMessage.java --- a/src/main/java/com/glavsoft/rfb/client/FramebufferUpdateRequestMessage.java Wed Jan 30 19:20:15 2019 +0900 +++ b/src/main/java/com/glavsoft/rfb/client/FramebufferUpdateRequestMessage.java Wed Jan 30 19:20:57 2019 +0900 @@ -25,6 +25,8 @@ package com.glavsoft.rfb.client; import com.glavsoft.exceptions.TransportException; +import com.glavsoft.rfb.protocol.Protocol; +import com.glavsoft.rfb.protocol.ProtocolContext; import com.glavsoft.transport.Writer; import java.util.Timer; @@ -77,8 +79,11 @@ * start send full screen request timer * it is periodically executed * there is no way to stop this - */ - public void sendFullScreenRequest() { + * @param context + */ + public void sendFullScreenRequest(ProtocolContext context) { + if (! context.isRunning()) return; + context.sendRefreshMessage(); int sendFullScreenTimer = 50 * 1000; TimerTask tt = new TimerTask() { @Override diff -r 101b8a3ed8e4 -r f06b0d50e4e2 src/main/java/com/glavsoft/rfb/protocol/Protocol.java --- a/src/main/java/com/glavsoft/rfb/protocol/Protocol.java Wed Jan 30 19:20:15 2019 +0900 +++ b/src/main/java/com/glavsoft/rfb/protocol/Protocol.java Wed Jan 30 19:20:57 2019 +0900 @@ -213,7 +213,6 @@ receiverThread = new Thread(receiverTask, "RfbReceiverTask"); receiverThread.start(); - sendRefreshMessage(); } private void correctServerPixelFormat() { @@ -331,6 +330,11 @@ } @Override + public boolean isRunning() { + return senderTask!=null; + } + + @Override public void setTight(boolean isTight) { this.isTight = isTight; } diff -r 101b8a3ed8e4 -r f06b0d50e4e2 src/main/java/com/glavsoft/rfb/protocol/ProtocolContext.java --- a/src/main/java/com/glavsoft/rfb/protocol/ProtocolContext.java Wed Jan 30 19:20:15 2019 +0900 +++ b/src/main/java/com/glavsoft/rfb/protocol/ProtocolContext.java Wed Jan 30 19:20:57 2019 +0900 @@ -84,6 +84,8 @@ final int MAX_RANDAM_NODE_ID = 30000; + boolean isRunning(); + /** * TreeVNC expension command (server to client) * 0 : command byte diff -r 101b8a3ed8e4 -r f06b0d50e4e2 src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java --- a/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java Wed Jan 30 19:20:15 2019 +0900 +++ b/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java Wed Jan 30 19:20:57 2019 +0900 @@ -102,7 +102,6 @@ } if(rfb.isTreeManager()) { fullscreenFbUpdateIncrementalRequest = new FramebufferUpdateRequestMessage(cp.getX(), cp.getY(), cp.getSingleWidth(), cp.getSingleHeight(), false); - fullscreenFbUpdateIncrementalRequest.sendFullScreenRequest(); connectionFinished(); } } @@ -110,6 +109,7 @@ @Override public void run() { isRunning = true; + fullscreenFbUpdateIncrementalRequest.sendFullScreenRequest(context); while (isRunning) { try { reader.available(); diff -r 101b8a3ed8e4 -r f06b0d50e4e2 src/viewer_swing/java/com/glavsoft/viewer/swing/ConnectionParams.java --- a/src/viewer_swing/java/com/glavsoft/viewer/swing/ConnectionParams.java Wed Jan 30 19:20:15 2019 +0900 +++ b/src/viewer_swing/java/com/glavsoft/viewer/swing/ConnectionParams.java Wed Jan 30 19:20:57 2019 +0900 @@ -219,7 +219,7 @@ this.hostName = hostAndPort; this.portNumber = port; int i = hostAndPort.indexOf(':'); - if (i>0) { + if (i>0 && port==0) { portNumber = Integer.parseInt(hostAndPort.substring(i+1)); hostName = hostAndPort.substring(0,i); } else