Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeStackFrame.java')
-rw-r--r--plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeStackFrame.java34
1 files changed, 9 insertions, 25 deletions
diff --git a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeStackFrame.java b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeStackFrame.java
index f93f0e37d..f93d76bef 100644
--- a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeStackFrame.java
+++ b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeStackFrame.java
@@ -334,31 +334,15 @@ public class TCFNodeStackFrame extends TCFNode {
@Override
public boolean validateNode(Runnable done) {
- stack_trace_context.validate();
- children_regs.validate();
- children_vars.validate();
- children_exps.validate();
- if (!stack_trace_context.isValid()) {
- stack_trace_context.wait(done);
- return false;
- }
- if (!children_regs.isValid()) {
- children_regs.wait(done);
- return false;
- }
- if (!children_vars.isValid()) {
- children_vars.wait(done);
- return false;
- }
- if (!children_exps.isValid()) {
- children_exps.wait(done);
- return false;
- }
- if (!line_info.validate()) {
- line_info.wait(done);
- return false;
- }
- return true;
+ TCFDataCache<?> pending = null;
+ if (!stack_trace_context.validate()) pending = stack_trace_context;
+ if (!children_regs.validate()) pending = children_regs;
+ if (!children_vars.validate()) pending = children_vars;
+ if (!children_exps.validate()) pending = children_exps;
+ if (!line_info.validate()) pending = line_info;
+ if (pending == null) return true;
+ pending.wait(done);
+ return false;
}
@Override

Back to the top