Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoreutarass2011-09-13 12:50:27 -0400
committereutarass2011-09-13 12:50:27 -0400
commit99f575fe1a32f7a5d8d1a8740062b98a0cc1f62e (patch)
tree9e00d4bfc970d67b519d9d5ef1268594d3e311c4 /plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse
parente8210e255ae7cd4fa5b9917e19be7bb44841e4eb (diff)
downloadorg.eclipse.tcf-99f575fe1a32f7a5d8d1a8740062b98a0cc1f62e.tar.gz
org.eclipse.tcf-99f575fe1a32f7a5d8d1a8740062b98a0cc1f62e.tar.xz
org.eclipse.tcf-99f575fe1a32f7a5d8d1a8740062b98a0cc1f62e.zip
TCF Debugger: fixed: resume command should be enabled for suspended-not-active contexts.
Diffstat (limited to 'plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse')
-rw-r--r--plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/commands/StepCommand.java2
-rw-r--r--plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeExecContext.java10
2 files changed, 8 insertions, 4 deletions
diff --git a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/commands/StepCommand.java b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/commands/StepCommand.java
index 2cfbfbc14..824b6ea7b 100644
--- a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/commands/StepCommand.java
+++ b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/commands/StepCommand.java
@@ -66,7 +66,7 @@ abstract class StepCommand implements IDebugCommandHandler {
if (ctx.isContainer()) {
TCFNodeExecContext.ChildrenStateInfo s = new TCFNodeExecContext.ChildrenStateInfo();
if (!((TCFNodeExecContext)node).hasSuspendedChildren(s, done)) return false;
- if (s.suspended) set.add(ctx);
+ if (s.suspended || s.not_active) set.add(ctx);
}
if (ctx.hasState()) {
TCFDataCache<TCFContextState> state_cache = ((TCFNodeExecContext)node).getState();
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 8546ec5aa..bf206f606 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
@@ -115,6 +115,7 @@ public class TCFNodeExecContext extends TCFNode implements ISymbolOwner {
public static class ChildrenStateInfo {
public boolean running;
public boolean suspended;
+ public boolean not_active;
public boolean breakpoint;
}
@@ -1118,7 +1119,7 @@ public class TCFNodeExecContext extends TCFNode implements ISymbolOwner {
// Manual manual updates.
return;
}
- if (!info.suspended && model.getDelayChildrenListUpdates()) {
+ if (!info.suspended && !info.not_active && model.getDelayChildrenListUpdates()) {
// Delay content update until a child is suspended.
exe.delayed_children_list_delta = true;
return;
@@ -1142,7 +1143,7 @@ public class TCFNodeExecContext extends TCFNode implements ISymbolOwner {
// Manual manual updates.
return;
}
- if (!info.suspended && model.getDelayChildrenListUpdates()) {
+ if (!info.suspended && !info.not_active && model.getDelayChildrenListUpdates()) {
// Delay content update until a child is suspended.
exe.delayed_children_list_delta = true;
return;
@@ -1427,7 +1428,10 @@ public class TCFNodeExecContext extends TCFNode implements ISymbolOwner {
if (!state_data.is_suspended) {
info.running = true;
}
- else if (!e.isNotActive()) {
+ else if (e.isNotActive()) {
+ info.not_active = true;
+ }
+ else {
info.suspended = true;
String r = model.getContextActionResult(e.id);
if (r == null) r = state_data.suspend_reason;

Back to the top