diff options
author | Darin Wright | 2008-03-12 17:55:50 +0000 |
---|---|---|
committer | Darin Wright | 2008-03-12 17:55:50 +0000 |
commit | a8441eb84fb3df3bc5f18d7837130fcc696b1c4f (patch) | |
tree | 637cea6b33e925e41ee944563bed4d464fec4436 | |
parent | ebd41f91f31abacca230682b3917c49c66e00ebc (diff) | |
download | eclipse.platform.debug-a8441eb84fb3df3bc5f18d7837130fcc696b1c4f.tar.gz eclipse.platform.debug-a8441eb84fb3df3bc5f18d7837130fcc696b1c4f.tar.xz eclipse.platform.debug-a8441eb84fb3df3bc5f18d7837130fcc696b1c4f.zip |
Bug 212655 - Thread not suspended error during evaluation
-rw-r--r-- | org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/VariableContentProvider.java | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/VariableContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/VariableContentProvider.java index 067807e4f..d660cabf2 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/VariableContentProvider.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/model/elements/VariableContentProvider.java @@ -237,16 +237,19 @@ public class VariableContentProvider extends ElementContentProvider { protected synchronized LogicalStructureCache getLogicalStructureCache(){ if (fgLogicalCache == null){ fgLogicalCache = new LogicalStructureCache(); - // Add a listener to clear the cache when resuming or terminating + // Add a listener to clear the cache when resuming, terminating, or suspending DebugPlugin.getDefault().addDebugEventListener(new IDebugEventSetListener(){ public void handleDebugEvents(DebugEvent[] events) { for (int i = 0; i < events.length; i++) { if (events[i].getKind() == DebugEvent.TERMINATE){ fgLogicalCache.clear(); break; - } else if (events[i].getKind() == DebugEvent.RESUME && !events[i].isEvaluation()){ + } else if (events[i].getKind() == DebugEvent.RESUME && events[i].getDetail() != DebugEvent.EVALUATION_IMPLICIT){ fgLogicalCache.clear(); break; + } else if (events[i].getKind() == DebugEvent.SUSPEND && events[i].getDetail() != DebugEvent.EVALUATION_IMPLICIT){ + fgLogicalCache.clear(); + break; } else if (events[i].getKind() == DebugEvent.CHANGE && events[i].getDetail() == DebugEvent.CONTENT){ fgLogicalCache.clear(); break; |