# HG changeset patch # User oc # Date 1423220162 -32400 # Node ID 1d9a4099ad443bd0a49d3043782f9c7bc9022a04 # Parent fd529c51095f8b50a0e8aa68515e32536648feac change hasParent value. diff -r fd529c51095f -r 1d9a4099ad44 src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java --- a/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java Fri Feb 06 19:19:14 2015 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/treevnc/TreeRFBProto.java Fri Feb 06 19:56:02 2015 +0900 @@ -42,7 +42,7 @@ private Inflater inflater = new Inflater(); private Deflater deflater = new Deflater(); ViewerInterface viewer; - private short id = -1; // my tree node id ( = 0 in root ), -1 means no parent + private short id = 0; // my tree node id ( = 0 in root ), -1 means no parent private TreeVncCommandChannelListener acceptThread; private TreeRootFinderListener getCast; private CreateConnectionParam cp; diff -r fd529c51095f -r 1d9a4099ad44 src/main/java/jp/ac/u_ryukyu/treevnc/TreeVncCommand.java --- a/src/main/java/jp/ac/u_ryukyu/treevnc/TreeVncCommand.java Fri Feb 06 19:19:14 2015 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/treevnc/TreeVncCommand.java Fri Feb 06 19:56:02 2015 +0900 @@ -109,6 +109,10 @@ rfb.setId(id); rfb.setMyAddress(myHostName); rfb.setLeader(leader); + if (rfb.isTreeManager()) { + // markers tree root has a parent on a different network. + rfb.setId((short) -1); + } try { rfb.getViewer().connectToParenet(port, hostname); } catch (IOException e) { diff -r fd529c51095f -r 1d9a4099ad44 src/viewer_swing/java/com/glavsoft/viewer/swing/SwingViewerWindow.java --- a/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingViewerWindow.java Fri Feb 06 19:19:14 2015 +0900 +++ b/src/viewer_swing/java/com/glavsoft/viewer/swing/SwingViewerWindow.java Fri Feb 06 19:56:02 2015 +0900 @@ -859,6 +859,10 @@ int singleHeight = (int) rectangles.get(leftScreenNumber).getHeight(); viewer.getRfb().setSingleDisplaySize(singleWidth, singleHeight); if (viewer.getRfb().isTreeManager()) { + if (viewer.getRfb().hasParent()) { + String adr = viewer.getRfb().getMyAddress(); + context.sendMessage(new ScreenChangeRequest(adr, ConnectionParams.DEFAULT_VNC_ROOT, viewer.getRfb().getId(), singleWidth, singleHeight)); + } changeVncServer(viewer, singleWidth, singleHeight, viewer.getRfb().getId()); return; }