From d078289a243e564b86536e8425c75ad4af49543b Mon Sep 17 00:00:00 2001 From: Randy Rohrbach Date: Tue, 25 Nov 2008 16:06:15 +0000 Subject: [PATCH] Bugzilla 256326. +2 votes for this now that we are in the RC2 Rampdown phase. Randy --- .../ExpressionVMProviderModelProxyStrategy.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/expression/ExpressionVMProviderModelProxyStrategy.java b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/expression/ExpressionVMProviderModelProxyStrategy.java index c1c763296d6..f7858015ec2 100644 --- a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/expression/ExpressionVMProviderModelProxyStrategy.java +++ b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/expression/ExpressionVMProviderModelProxyStrategy.java @@ -54,6 +54,19 @@ public class ExpressionVMProviderModelProxyStrategy extends DefaultVMModelProxyS IExpressionVMNode matchingNode = getExpressionVMProvider().findNodeToParseExpression(node, expression); if (matchingNode != null && !matchingNode.equals(node)) { flags = flags | getNodeDeltaFlagsForExpression(matchingNode, expression, event); + } else { + // Check the child nodes of this expression node for additional + // delta flags. + for (IVMNode childNode : getVMProvider().getChildVMNodes(node)) { + if (!childNode.equals(node)) { + int childNodeDeltaFlags = getDeltaFlags(childNode, null, event); + if ((childNodeDeltaFlags & IModelDelta.CONTENT) != 0) { + childNodeDeltaFlags &= ~IModelDelta.CONTENT; + childNodeDeltaFlags |= IModelDelta.STATE; + } + flags |= childNodeDeltaFlags; + } + } } return flags; }