1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 14:42:11 +02:00

Bug 312229: Missing delta generation was forcing us to refresh the expressions view needlessly.

This commit is contained in:
Marc Khouzam 2010-05-10 20:15:50 +00:00
parent 0be25d015f
commit a29b7e2b10
2 changed files with 7 additions and 3 deletions

View file

@ -216,7 +216,6 @@ public class DsfCastToTypeSupport {
private void fireExpressionChangedEvent(IExpressionDMContext exprDMC) {
ExpressionChangedEvent event = new ExpressionChangedEvent(exprDMC);
dmvmProvider.handleEvent(event);
dmvmProvider.refresh(); // this seems to be required, esp. for Expressions View
}
}

View file

@ -1201,8 +1201,13 @@ public class VariableVMNode extends AbstractExpressionVMNode
public void buildDeltaForExpression(IExpression expression, int elementIdx, Object event, VMDelta parentDelta,
TreePath path, RequestMonitor rm)
{
// Always refresh the contents of the view upon suspended event.
if (event instanceof ISuspendedDMEvent) {
// The following events can affect any expression's values,
// refresh the contents of the parent element (i.e. all the expressions).
if (event instanceof ISuspendedDMEvent ||
event instanceof IMemoryChangedEvent ||
event instanceof IExpressionChangedDMEvent ||
(event instanceof PropertyChangeEvent &&
((PropertyChangeEvent)event).getProperty() == IDebugVMConstants.PROP_FORMATTED_VALUE_FORMAT_PREFERENCE) ) {
parentDelta.setFlags(parentDelta.getFlags() | IModelDelta.CONTENT);
}