You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by jk...@apache.org on 2015/02/10 09:06:23 UTC
tapestry-5 git commit: TAP5-2450,
TAP5-2445: Reset the renderTag field in the AfterRender phase,
fixes state leak when using an AbstractConditional within a Loop
Repository: tapestry-5
Updated Branches:
refs/heads/master fa7634ac7 -> 69a689d45
TAP5-2450, TAP5-2445: Reset the renderTag field in the AfterRender phase, fixes state leak when using an AbstractConditional within a Loop
Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/69a689d4
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/69a689d4
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/69a689d4
Branch: refs/heads/master
Commit: 69a689d45055c1c4fae7a1fcf53422052cfca890
Parents: fa7634a
Author: Jochen Kemnade <jo...@eddyson.de>
Authored: Tue Feb 10 09:04:53 2015 +0100
Committer: Jochen Kemnade <jo...@eddyson.de>
Committed: Tue Feb 10 09:04:53 2015 +0100
----------------------------------------------------------------------
.../org/apache/tapestry5/corelib/base/AbstractConditional.java | 1 +
.../org/apache/tapestry5/integration/pagelevel/IfTest.java | 1 +
.../apache/tapestry5/integration/app2/pages/TestPageForIf.tml | 6 ++++++
3 files changed, 8 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/69a689d4/tapestry-core/src/main/java/org/apache/tapestry5/corelib/base/AbstractConditional.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/base/AbstractConditional.java b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/base/AbstractConditional.java
index ceae009..4402d1e 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/corelib/base/AbstractConditional.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/corelib/base/AbstractConditional.java
@@ -88,6 +88,7 @@ public abstract class AbstractConditional
if (renderTag)
{
writer.end();
+ renderTag = false;
}
}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/69a689d4/tapestry-core/src/test/java/org/apache/tapestry5/integration/pagelevel/IfTest.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/integration/pagelevel/IfTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/integration/pagelevel/IfTest.java
index dd573c1..d924b40 100644
--- a/tapestry-core/src/test/java/org/apache/tapestry5/integration/pagelevel/IfTest.java
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/integration/pagelevel/IfTest.java
@@ -34,6 +34,7 @@ public class IfTest extends Assert
assertNotNull(doc.getElementById("3"));
assertNotNull(doc.getElementById("5"));
assertNotNull(doc.getElementById("8"));
+ assertNotNull(doc.getElementById("9"));
assertNull(doc.getElementById("2"));
assertNull(doc.getElementById("4"));
assertNull(doc.getElementById("6"));
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/69a689d4/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app2/pages/TestPageForIf.tml
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app2/pages/TestPageForIf.tml b/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app2/pages/TestPageForIf.tml
index 65e4221..48b985d 100644
--- a/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app2/pages/TestPageForIf.tml
+++ b/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app2/pages/TestPageForIf.tml
@@ -23,4 +23,10 @@
<p id="8">hey.</p>
</t:parameter>
</t:if>
+ <!-- TAP5-2450 -->
+ <t:loop source="[true,false]" value="var:value">
+ <div t:type="if" test="var:value">
+ <p id="9">foo</p>
+ </div>
+ </t:loop>
</html>