Bauke Scholtz created MYFACES-4120:
--------------------------------------

             Summary: ResourceHandler#markResourceRendered() should be retained 
during ajax rebuild
                 Key: MYFACES-4120
                 URL: https://issues.apache.org/jira/browse/MYFACES-4120
             Project: MyFaces Core
          Issue Type: Bug
    Affects Versions: 2.3.0
         Environment: TomEE 7.0.3 with MyFaces 2.3.0-SNAPSHOT
            Reporter: Bauke Scholtz


While running OmniFaces IT suite on today's MyFaces 2.3.0-SNAPSHOT, I noticed a 
bug in ResourceHandler#isResourceRendered() during an ajax navigation back to 
the same view (more specifically, when FacesContext#setViewRoot() is invoked 
with a new UIViewRoot of same viewId during an ajax postback). 

During restore view phase, all already-rendered resources are correctly marked 
via markResourceRendered(). However, this is in turn stored as a transient 
UIViewRoot attribute. As a consequence, when the UIViewRoot gets changed during 
the very same ajax request, they are all lost, causing isResourceRendered() to 
incorrectly return false.

Basically, the markResourceRendered() of the previous view should be remembered 
for the next view when PartialViewContext#isAjaxRequest() returns true and 
isRenderAll() returns false.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to