Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Dumais2016-08-26 17:00:52 +0000
committerMarc Dumais2016-08-29 14:03:58 +0000
commit0b6ca32767127249f7ce558fcf8db3525a214a01 (patch)
tree68eff9c42945ee7bf9d9b0526580b871f4f157fe
parentb71a94f4f2874f39011ccafe0b3a7197b4af07fe (diff)
downloadorg.eclipse.cdt-0b6ca32767127249f7ce558fcf8db3525a214a01.tar.gz
org.eclipse.cdt-0b6ca32767127249f7ce558fcf8db3525a214a01.tar.xz
org.eclipse.cdt-0b6ca32767127249f7ce558fcf8db3525a214a01.zip
Bug 337899 - [debug view][non-stop] Process label is not updated
In non-stop mode, when the last thread of a process is resumed, the corresponding process node icon, in the Debug View, is updated to the "running process" one. However the node was not being automatically refreshed, and so still showed the previous "suspended process" icon. This fix adds the necessary Delta to refresh the process node when a IResumedDMEvent is received. Change-Id: Ie7d2b6aef9ae7f5906e4b54470f74ee238e13ef5 (cherry picked from commit a90d9dfbf8cef53d276484e8c53fe971559767c8)
-rw-r--r--dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/launch/AbstractContainerVMNode.java14
1 files changed, 12 insertions, 2 deletions
diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/launch/AbstractContainerVMNode.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/launch/AbstractContainerVMNode.java
index 8948fa044e9..2839738b0e8 100644
--- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/launch/AbstractContainerVMNode.java
+++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/launch/AbstractContainerVMNode.java
@@ -32,6 +32,7 @@ import org.eclipse.cdt.dsf.debug.service.IRunControl.IExecutionDMContext;
import org.eclipse.cdt.dsf.debug.service.IRunControl.IExecutionDMData;
import org.eclipse.cdt.dsf.debug.service.IRunControl.IExecutionDMData2;
import org.eclipse.cdt.dsf.debug.service.IRunControl.IExitedDMEvent;
+import org.eclipse.cdt.dsf.debug.service.IRunControl.IResumedDMEvent;
import org.eclipse.cdt.dsf.debug.service.IRunControl.IStartedDMEvent;
import org.eclipse.cdt.dsf.debug.service.IRunControl.StateChangeReason;
import org.eclipse.cdt.dsf.debug.ui.viewmodel.SteppingController.SteppingTimedOutEvent;
@@ -305,7 +306,10 @@ public abstract class AbstractContainerVMNode extends AbstractExecutionContextVM
} else if (e instanceof FullStackRefreshEvent &&
(((FullStackRefreshEvent)e).getTriggeringEvent() instanceof IContainerSuspendedDMEvent)) {
return IModelDelta.CONTENT;
- }
+ } else if (e instanceof IResumedDMEvent) {
+ return IModelDelta.STATE;
+ }
+
return IModelDelta.NO_CHANGE;
}
@@ -405,7 +409,13 @@ public abstract class AbstractContainerVMNode extends AbstractExecutionContextVM
containerTriggerEvent.getTriggeringContexts(), parentDelta, nodeOffset, requestMonitor);
return;
}
- }
+ } else if (e instanceof IResumedDMEvent) {
+ // update the container node label
+ IContainerDMContext containerCtx = DMContexts.getAncestorOfType(dmc, IContainerDMContext.class);
+ if (containerCtx != null) {
+ parentDelta.addNode(createVMContext(containerCtx), IModelDelta.STATE);
+ }
+ }
requestMonitor.done();
}

Back to the top