diff options
-rwxr-xr-x | java/src/IceGridGUI/src/main/java/IceGridGUI/LiveDeployment/Node.java | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/java/src/IceGridGUI/src/main/java/IceGridGUI/LiveDeployment/Node.java b/java/src/IceGridGUI/src/main/java/IceGridGUI/LiveDeployment/Node.java index c088d15a4d0..39d8e816014 100755 --- a/java/src/IceGridGUI/src/main/java/IceGridGUI/LiveDeployment/Node.java +++ b/java/src/IceGridGUI/src/main/java/IceGridGUI/LiveDeployment/Node.java @@ -666,6 +666,8 @@ class Node extends ListTreeNode void updateServer(ServerDynamicInfo updatedInfo) { + boolean destroyed = updatedInfo.state == ServerState.Destroyed; + if(_info != null) { java.util.ListIterator<ServerDynamicInfo> p = _info.servers.listIterator(); @@ -675,12 +677,18 @@ class Node extends ListTreeNode ServerDynamicInfo sinfo = p.next(); if(sinfo.id.equals(updatedInfo.id)) { - p.set(updatedInfo); + if(destroyed) + { + p.remove(); + } + { + p.set(updatedInfo); + } found = true; break; } } - if(!found) + if(!found && !destroyed) { _info.servers.add(updatedInfo); } |