From 2bbc801bdf0daa4fdeef05dfdc93e14e208163f6 Mon Sep 17 00:00:00 2001 From: Pawel Piech Date: Wed, 3 Oct 2007 14:34:26 +0000 Subject: [PATCH] [205288] Fixes to canceled update mis-handling. --- .../eclipse/dd/dsf/debug/ui/actions/DsfCommandRunnable.java | 5 ++++- .../dsf/debug/ui/viewmodel/register/RegisterLayoutNode.java | 2 +- .../dd/dsf/ui/viewmodel/dm/AbstractDMVMLayoutNode.java | 4 ++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/ui/actions/DsfCommandRunnable.java b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/ui/actions/DsfCommandRunnable.java index d77cfa1a26d..3ad8a811f20 100644 --- a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/ui/actions/DsfCommandRunnable.java +++ b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/ui/actions/DsfCommandRunnable.java @@ -60,7 +60,10 @@ public abstract class DsfCommandRunnable extends DsfRunnable { } public final void run() { - if (fRequest.isCanceled()) return; + if (fRequest.isCanceled()) { + fRequest.done(); + return; + } if (getContext() == null) { fRequest.setStatus(makeError("Selected object does not support run control.", null)); //$NON-NLS-1$ } else if (getRunControl() == null) { diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/ui/viewmodel/register/RegisterLayoutNode.java b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/ui/viewmodel/register/RegisterLayoutNode.java index 5c93622eaa4..91ce2b85734 100644 --- a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/ui/viewmodel/register/RegisterLayoutNode.java +++ b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/ui/viewmodel/register/RegisterLayoutNode.java @@ -282,7 +282,7 @@ public class RegisterLayoutNode extends AbstractExpressionLayoutNode extends Abstract protected void updateHasElementsInSessionThread(IHasChildrenUpdate[] updates) { for (final IHasChildrenUpdate update : updates) { - if (!checkUpdate(update)) return; + if (!checkUpdate(update)) continue; updateElementsInSessionThread( new ElementsUpdate( @@ -318,7 +318,7 @@ abstract public class AbstractDMVMLayoutNode extends Abstract protected void updateLabelInSessionThread(ILabelUpdate[] updates) { for (final ILabelUpdate update : updates) { final IDMContext dmc = findDmcInPath(update.getElementPath(), fDMCClassType); - if (!checkDmc(dmc, update) || !checkService(null, dmc.getServiceFilter(), update)) return; + if (!checkDmc(dmc, update) || !checkService(null, dmc.getServiceFilter(), update)) continue; VMCacheManager.getVMCacheManager().getCache(update.getPresentationContext()) .getModelData((IDMService)getServicesTracker().getService(null, dmc.getServiceFilter()),