# HG changeset patch # User innparusu # Date 1442916562 -32400 # Node ID 6a8b661367c62ae68fcc8d61751edee436cbd8c4 # Parent dc168770dbe332d5ae9f7264453ce223d8b9dfac Fix serverChange desktop size diff -r dc168770dbe3 -r 6a8b661367c6 .idea/workspace.xml --- a/.idea/workspace.xml Tue Sep 22 16:18:55 2015 +0900 +++ b/.idea/workspace.xml Tue Sep 22 19:09:22 2015 +0900 @@ -2,7 +2,12 @@ - + + + + + + @@ -27,115 +32,101 @@ - + - - + + - - - - - - - - - - - - + + - - + + - - + + - - + + - - - + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - + + - - + + - - + + - - + + - - + + @@ -148,25 +139,12 @@ - - + + - - - - - - - - - - - - - - - - + + + @@ -175,8 +153,8 @@ - - + + @@ -195,41 +173,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -240,6 +183,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -250,108 +213,19 @@ - + - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + @@ -360,21 +234,31 @@ - - + + - + - + + + + + + + + + + + - - + + @@ -655,14 +539,12 @@ - - - + + @@ -1394,8 +1279,8 @@ - - + + @@ -1484,19 +1369,19 @@ file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java - 357 + 364 file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java - 535 + 536 file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/Protocol.java - 314 + 313 @@ -1508,7 +1393,7 @@ file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java - 821 + 823 @@ -1569,7 +1454,7 @@ file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingRfbConnectionWorker.java - 115 + 108 @@ -1617,19 +1502,13 @@ file://$PROJECT_DIR$/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java - 796 + 798 - - file://$PROJECT_DIR$/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java - 286 - - file://$PROJECT_DIR$/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingRfbConnectionWorker.java - 187 + 180 @@ -1658,130 +1537,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1824,21 +1579,6 @@ - - - - - - - - - - - - - - - @@ -1891,25 +1631,405 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1973,6 +2093,7 @@ + @@ -2083,43 +2204,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2128,99 +2212,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2229,20 +2220,38 @@ - + + + + + + + + + - - + + + + + + + + + + - + + + - - + + @@ -2260,41 +2269,144 @@ + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + - - + + - + - + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r dc168770dbe3 -r 6a8b661367c6 src/main/java/com/glavsoft/rfb/protocol/Protocol.java --- a/src/main/java/com/glavsoft/rfb/protocol/Protocol.java Tue Sep 22 16:18:55 2015 +0900 +++ b/src/main/java/com/glavsoft/rfb/protocol/Protocol.java Tue Sep 22 19:09:22 2015 +0900 @@ -65,7 +65,6 @@ private boolean isTight; private String protocolVersion; private byte[] initData; - private boolean isRetina = false; private TreeRFBProto rfb; public Protocol(Reader reader, Writer writer, @@ -126,8 +125,7 @@ @Override public void setFbWidth(int fbWidth) { - if(!isRetina) - this.fbWidth = fbWidth; + this.fbWidth = fbWidth; } @Override @@ -147,8 +145,7 @@ @Override public void setFbHeight(int fbHeight) { - if(!isRetina) - this.fbHeight = fbHeight; + this.fbHeight = fbHeight; } @Override @@ -210,7 +207,9 @@ sendSupportedEncodingsMessage(settings); settings.addListener(this); // to support pixel format (color depth), and encodings changes settings.addListener(repaintController); - sendRefreshMessage(); + if (rfb.isTreeManager()) { + sendRefreshMessage(); + } senderTask = new SenderTask(messageQueue, writer, this); senderThread = new Thread(senderTask, "RfbSenderTask"); senderThread.start(); diff -r dc168770dbe3 -r 6a8b661367c6 src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java --- a/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java Tue Sep 22 16:18:55 2015 +0900 +++ b/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java Tue Sep 22 19:09:22 2015 +0900 @@ -288,9 +288,11 @@ byte[] initData = new byte[length]; reader.read(initData); String name = new String(initData, 24, length - 24, "UTF-8"); - rfb.getContext().setRemoteDesktopName(name); - rfb.getContext().setInitData(initData); - repaintController.updateRemoteDesktopName(rfb.getContext()); + context.setRemoteDesktopName(name); + context.setInitData(initData); + context.setFbWidth(rect.width); + context.setFbHeight(rect.height); + repaintController.updateRemoteDesktopName(context); reader.reset(); // All children multicastqueue should be discarded hear. // rfb.clearChildrenTransmission(); @@ -299,8 +301,11 @@ visible = (id != rfb.getId()); } synchronized (renderer.getLock()) { - if(!(rfb.getCuiVersion())) + if(!(rfb.getCuiVersion())) { renderer = repaintController.createRenderer(reader, rect.width, rect.height, context.getPixelFormat()); + + System.out.println("ReceiverTask INIT_DATA width =" +rect.width+ " height =" +rect.height); + } } if (rect.getEncodingType() == EncodingType.INIT_DATA) { repaintController.setVisible(visible); @@ -308,8 +313,10 @@ if (rfb.hasViewer()){ rfb.getViewer().setFitScreen(); } - context.sendMessage(new FramebufferUpdateRequestMessage(0, 0, rect.width, rect.height, false)); - // repaintController.repaintCursor(); + if (rfb.isTreeManager()) { + context.sendMessage(new FramebufferUpdateRequestMessage(0, 0, rect.width, rect.height, false)); + } + } else if (rect.getEncodingType() == EncodingType.CHECK_DELAY) { int checkDelaySize = 24; reader.reset(); diff -r dc168770dbe3 -r 6a8b661367c6 src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java --- a/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java Tue Sep 22 16:18:55 2015 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java Tue Sep 22 19:09:22 2015 +0900 @@ -498,7 +498,8 @@ LinkedList desktopSize = new LinkedList(); int width = context.getFbWidth(); int height = context.getFbHeight(); - + System.out.println("SendDesktopSizeChange filterSingleDisplay =" +filterSingleDisplay + + " width =" +width+ " height =" +height); if (filterSingleDisplay) { originalInitData = createOriginalInitData(singleWidth, singleHeight, context.getRemoteDesktopName()); // desktopSize.add(new ChengeDesktopSize(singleWidth, singleHeight, EncodingType.INIT_DATA, originalInitData, id).getMessage()); @@ -791,7 +792,8 @@ this.frameSizeHeight = height; singleWidth = frameSizeWidth; singleHeight = frameSizeHeight; - + System.out.println("ChangeVNCServer filterSingleDisplay =" +filterSingleDisplay + + " width =" +singleWidth+ " height =" +singleHeight); if (newVNCServerId == -1) { // change to the tree vnc root on other network. vncProxyService.changeToDirectConnectedServer(hostName, is, os); diff -r dc168770dbe3 -r 6a8b661367c6 src/viewer_swing/java/com/glavsoft/viewer/swing/Surface.java --- a/src/viewer_swing/java/com/glavsoft/viewer/swing/Surface.java Tue Sep 22 16:18:55 2015 +0900 +++ b/src/viewer_swing/java/com/glavsoft/viewer/swing/Surface.java Tue Sep 22 19:09:22 2015 +0900 @@ -114,7 +114,7 @@ synchronized (renderer.getLock()) { cursor = renderer.getCursor(); } -// init(renderer.getWidth(), renderer.getHeight()); + init(renderer.getWidth(), renderer.getHeight()); updateFrameSize(); return renderer; } diff -r dc168770dbe3 -r 6a8b661367c6 src/viewer_swing/java/com/glavsoft/viewer/swing/SwingRfbConnectionWorker.java --- a/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingRfbConnectionWorker.java Tue Sep 22 16:18:55 2015 +0900 +++ b/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingRfbConnectionWorker.java Tue Sep 22 19:09:22 2015 +0900 @@ -102,13 +102,6 @@ presenter.showMessage(message); } - public void startVncConnectionWithSocket(Reader is, Writer os) { - workingProtocol = new Protocol(is, os, - new PasswordChooser(connectionString, parentWindow, this), - rfbSettings, myRfb); - startVNCConnection(); - } - @Override protected void done() { // EDT try {