You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2012/05/29 12:34:20 UTC

svn commit: r1343654 - /myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.java

Author: lu4242
Date: Tue May 29 10:34:20 2012
New Revision: 1343654

URL: http://svn.apache.org/viewvc?rev=1343654&view=rev
Log:
MYFACES-3554 REGRESSION: 2.0.12/2.1.6 (and above) fail on state saving 

Modified:
    myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.java

Modified: myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.java?rev=1343654&r1=1343653&r2=1343654&view=diff
==============================================================================
--- myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.java (original)
+++ myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.java Tue May 29 10:34:20 2012
@@ -1166,6 +1166,7 @@ public class DefaultFaceletsStateManagem
                 }
 
                 if (!isRefreshOnTransientBuildPreserveState() &&
+                    FaceletCompositionContext.getCurrentInstance(_facesContext) != null &&
                     (component.getAttributes().containsKey(ComponentSupport.MARK_CREATED) ||
                      component.getAttributes().containsKey(ComponentSupport.FACET_CREATED_UIPANEL_MARKER)) ||
                      (component.getId() != null && component.getId().length() > 16 && 
@@ -1176,6 +1177,10 @@ public class DefaultFaceletsStateManagem
                     // Components removed by facelets algorithm does not need to be registered
                     // unless preserve state mode is used, because PSS initial state is changed
                     // to restore delta properly.
+                    // MYFACES-3554 It is possible to find use cases where a component
+                    // created by a facelet tag is changed dynamically in some way in render
+                    // response time, so we need to check here also when facelets algorithm
+                    // is running or not. 
                     return;
                 }