From 8f22ce2a69e84cbf78a1d41d55028fd303353316 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emma=20S=C3=B6derberg?= <emma.m.soderberg@gmail.com> Date: Wed, 23 May 2018 14:01:32 +0200 Subject: [PATCH] Removes computed check to change propagation of circular attributes. This is to prevent the change propagation from being cut short when the computed value is not fully set. This can happen when circular attributes are nested and a last cycle to cache all attributes in the same cycle is not run. --- src/template/incremental/Notification.tt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/template/incremental/Notification.tt b/src/template/incremental/Notification.tt index 05fc06d1..081de023 100644 --- a/src/template/incremental/Notification.tt +++ b/src/template/incremental/Notification.tt @@ -221,7 +221,11 @@ $endif ASTDecl.attrFlushCheck = [[ $if(IncrementalLevelParam) $if(IsParameterized) +$if(!#isCircular) +if (attrID.equals("$AttrSign") && $(AttrSign)_values != null) { +$else if (attrID.equals("$AttrSign") && $(AttrSign)_values != null && $(AttrSign)_values.containsKey(_parameters)) { +$endif $if(IsNTA) $AttrType value = ($AttrType)$(AttrSign)_values.remove(_parameters); for (int i = 0; i < $(AttrSign)_proxy.children.length; i++) { @@ -245,7 +249,11 @@ if (attrID.equals("$AttrSign") && $(AttrSign)_values != null && $(AttrSign)_valu return; } $else +$if(!#isCircular) +if (attrID.equals("$AttrSign")) { +$else if (attrID.equals("$AttrSign") && $(AttrSign)_computed) { +$endif $if(IsNTA) if ($(AttrSign)_value instanceof $ASTNode) { $(AttrSign)_value.setParent(null); -- GitLab