summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xjava/src/IceGridGUI/src/main/java/IceGridGUI/LiveDeployment/Node.java12
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);
}