Bug 537399 - ignore VMDisconnectedException when releasing values

Same as in Interpreter::releaseObjects, we can't reenable GC if the VM
is already disconnected.

Change-Id: Ia55327ab1c56d6038879397963d936e6d03cdd1a
Signed-off-by: Julian Honnen <julian.honnen@vector.com>
diff --git a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/logicalstructures/JavaLogicalStructure.java b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/logicalstructures/JavaLogicalStructure.java
index e54c8c8..41f8c2f 100644
--- a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/logicalstructures/JavaLogicalStructure.java
+++ b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/logicalstructures/JavaLogicalStructure.java
@@ -53,6 +53,7 @@
 import org.eclipse.jdt.internal.debug.core.JavaDebugUtils;
 import org.eclipse.jdt.internal.debug.core.model.JDIValue;
 
+import com.sun.jdi.VMDisconnectedException;
 
 
 public class JavaLogicalStructure implements ILogicalStructureType, ILogicalStructureTypeDelegate3 {
@@ -340,7 +341,10 @@
 			try {
 				((IJavaObject) value).enableCollection();
 			} catch (DebugException e) {
-				JDIDebugPlugin.log(e);
+				if (!(e.getStatus().getException() instanceof VMDisconnectedException)) {
+					// don't worry about GC if the VM has terminated
+					JDIDebugPlugin.log(e);
+				}
 			}
 		}
 	}