Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoreutarass2010-08-10 18:57:19 +0000
committereutarass2010-08-10 18:57:19 +0000
commite318fdac3e243fa4e43fafe607c3dacd8e54c8e9 (patch)
tree96228978183b0e4d5e593d41a0d42205439ba365
parent79565875f1509753a764fafb2d01e8ebdb11a6f7 (diff)
downloadorg.eclipse.tcf-e318fdac3e243fa4e43fafe607c3dacd8e54c8e9.tar.gz
org.eclipse.tcf-e318fdac3e243fa4e43fafe607c3dacd8e54c8e9.tar.xz
org.eclipse.tcf-e318fdac3e243fa4e43fafe607c3dacd8e54c8e9.zip
TCF Debugger: Optimization: don't need to issue stack trace command to answer HasChildren query for Debug view
-rw-r--r--plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeExecContext.java11
1 files changed, 10 insertions, 1 deletions
diff --git a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeExecContext.java b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeExecContext.java
index 9f2a1a4d9..3e4c1d64d 100644
--- a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeExecContext.java
+++ b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeExecContext.java
@@ -475,7 +475,16 @@ public class TCFNodeExecContext extends TCFNode implements ISymbolOwner {
if (IDebugUIConstants.ID_DEBUG_VIEW.equals(result.getPresentationContext().getId())) {
if (!run_context.validate(done)) return false;
IRunControl.RunControlContext ctx = run_context.getData();
- children = ctx != null && ctx.hasState() ? children_stack : children_exec;
+ if (ctx != null && ctx.hasState()) {
+ if (!state.validate(done)) return false;
+ Throwable state_error = state.getError();
+ TCFContextState state_data = state.getData();
+ result.setHasChilren(state_error == null && state_data != null && state_data.is_suspended);
+ return true;
+ }
+ else {
+ children = children_exec;
+ }
}
else if (IDebugUIConstants.ID_REGISTER_VIEW.equals(result.getPresentationContext().getId())) {
if (!run_context.validate(done)) return false;

Back to the top