1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

[205288] Fixes to canceled update mis-handling.

This commit is contained in:
Pawel Piech 2007-10-03 14:34:26 +00:00
parent 441f6bc65b
commit 2bbc801bdf
3 changed files with 7 additions and 4 deletions

View file

@ -60,7 +60,10 @@ public abstract class DsfCommandRunnable extends DsfRunnable {
} }
public final void run() { public final void run() {
if (fRequest.isCanceled()) return; if (fRequest.isCanceled()) {
fRequest.done();
return;
}
if (getContext() == null) { if (getContext() == null) {
fRequest.setStatus(makeError("Selected object does not support run control.", null)); //$NON-NLS-1$ fRequest.setStatus(makeError("Selected object does not support run control.", null)); //$NON-NLS-1$
} else if (getRunControl() == null) { } else if (getRunControl() == null) {

View file

@ -282,7 +282,7 @@ public class RegisterLayoutNode extends AbstractExpressionLayoutNode<IRegisterDM
protected void updateLabelInSessionThread(ILabelUpdate[] updates) { protected void updateLabelInSessionThread(ILabelUpdate[] updates) {
for (final ILabelUpdate update : updates) { for (final ILabelUpdate update : updates) {
final IRegisterDMContext dmc = findDmcInPath(update.getElementPath(), IRegisters.IRegisterDMContext.class); final IRegisterDMContext dmc = findDmcInPath(update.getElementPath(), IRegisters.IRegisterDMContext.class);
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()) VMCacheManager.getVMCacheManager().getCache(update.getPresentationContext())
.getModelData((IDMService)getServicesTracker().getService(null, dmc.getServiceFilter()), .getModelData((IDMService)getServicesTracker().getService(null, dmc.getServiceFilter()),

View file

@ -220,7 +220,7 @@ abstract public class AbstractDMVMLayoutNode<V extends IDMData> extends Abstract
protected void updateHasElementsInSessionThread(IHasChildrenUpdate[] updates) { protected void updateHasElementsInSessionThread(IHasChildrenUpdate[] updates) {
for (final IHasChildrenUpdate update : updates) { for (final IHasChildrenUpdate update : updates) {
if (!checkUpdate(update)) return; if (!checkUpdate(update)) continue;
updateElementsInSessionThread( updateElementsInSessionThread(
new ElementsUpdate( new ElementsUpdate(
@ -318,7 +318,7 @@ abstract public class AbstractDMVMLayoutNode<V extends IDMData> extends Abstract
protected void updateLabelInSessionThread(ILabelUpdate[] updates) { protected void updateLabelInSessionThread(ILabelUpdate[] updates) {
for (final ILabelUpdate update : updates) { for (final ILabelUpdate update : updates) {
final IDMContext<V> dmc = findDmcInPath(update.getElementPath(), fDMCClassType); final IDMContext<V> 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()) VMCacheManager.getVMCacheManager().getCache(update.getPresentationContext())
.getModelData((IDMService)getServicesTracker().getService(null, dmc.getServiceFilter()), .getModelData((IDMService)getServicesTracker().getService(null, dmc.getServiceFilter()),