You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by cc...@apache.org on 2010/09/06 08:54:14 UTC
svn commit: r992952 -
/tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementImpl.java
Author: ccordenier
Date: Mon Sep 6 06:54:14 2010
New Revision: 992952
URL: http://svn.apache.org/viewvc?rev=992952&view=rev
Log:
Apply TAP5-1100 to 5.1.0.8 (see TAP5-733)
Modified:
tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementImpl.java
Modified: tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementImpl.java?rev=992952&r1=992951&r2=992952&view=diff
==============================================================================
--- tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementImpl.java (original)
+++ tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementImpl.java Mon Sep 6 06:54:14 2010
@@ -567,6 +567,9 @@ public class ComponentPageElementImpl ex
private void initializeRenderPhases()
{
+ if (renderPhasesInitalized)
+ return;
+
setupRenderPhase = new SetupRenderPhase();
beginRenderPhase = new BeginRenderPhase();
beforeRenderTemplatePhase = new BeforeRenderTemplatePhase();
@@ -799,6 +802,11 @@ public class ComponentPageElementImpl ex
public void enqueueBeforeRenderBody(RenderQueue queue)
{
+ // TAP5-1100: In certain Ajax cases, a component may be asked to render its body
+ // that has never rendered itself (and thus, never called initializeRenderPhases). Subtle.
+
+ initializeRenderPhases();
+
// If no body, then no beforeRenderBody or afterRenderBody
if (bodyBlock != null)
@@ -976,8 +984,7 @@ public class ComponentPageElementImpl ex
// We assume that by the time we start to render, the structure (i.e., mixins) is nailed down.
// We could add a lock, but that seems wasteful.
- if (!renderPhasesInitalized)
- initializeRenderPhases();
+ initializeRenderPhases();
// TODO: An error if the render flag is already set (recursive rendering not
// allowed or advisable).