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

Bugzilla 195920

This commit is contained in:
Randy Rohrbach 2007-07-10 02:48:20 +00:00
parent 63d77a2cc6
commit 4fb3814039
3 changed files with 21 additions and 4 deletions

View file

@ -388,6 +388,11 @@ public class RegisterLayoutNode extends AbstractExpressionLayoutNode<IRegisterDM
return IModelDelta.CONTENT;
}
else if (e instanceof IRegisters.IRegistersChangedDMEvent) {
/*
* Flush the cache.
*/
VMCacheManager.getVMCacheManager().flush(super.getVMProvider().getPresentationContext());
return IModelDelta.CONTENT;
}
else if (e instanceof IRegisters.IRegisterChangedDMEvent) {

View file

@ -13,7 +13,11 @@ package org.eclipse.dd.dsf.ui.viewmodel;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.dd.dsf.concurrent.DataRequestMonitor;
import org.eclipse.dd.dsf.service.IDsfService;
import org.eclipse.dd.dsf.ui.DsfUIPlugin;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IChildrenUpdate;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IElementContentProvider;
@ -71,7 +75,12 @@ public class VMElementsUpdate extends VMViewerUpdate implements IChildrenUpdate
public void done() {
@SuppressWarnings("unchecked")
DataRequestMonitor<List<Object>> rm = (DataRequestMonitor<List<Object>>)fRequestMonitor;
rm.setData(fElements);
if (fElements.size() == fLength) {
rm.setData(fElements);
} else {
rm.setStatus(new Status(IStatus.ERROR, DsfUIPlugin.PLUGIN_ID, IDsfService.REQUEST_FAILED, "Incomplete elements of updates", null)); //$NON-NLS-1$
}
super.done();
}
}

View file

@ -95,9 +95,12 @@ public abstract class VMCache
@Override
protected void handleCompleted()
{
if(isCacheWriteEnabled())
fHasChildren.put(update.getElement(), this.getData());
update.setHasChilren(getData());
if(getStatus().isOK())
{
if(isCacheWriteEnabled())
fHasChildren.put(update.getElement(), this.getData());
update.setHasChilren(getData());
}
update.done();
}
});