From e318fdac3e243fa4e43fafe607c3dacd8e54c8e9 Mon Sep 17 00:00:00 2001 From: eutarass Date: Tue, 10 Aug 2010 18:57:19 +0000 Subject: TCF Debugger: Optimization: don't need to issue stack trace command to answer HasChildren query for Debug view --- .../tm/internal/tcf/debug/ui/model/TCFNodeExecContext.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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; -- cgit v1.2.3