Problem with If condition binding in a recursive context
--------------------------------------------------------

                 Key: TAPESTRY-1962
                 URL: https://issues.apache.org/jira/browse/TAPESTRY-1962
             Project: Tapestry
          Issue Type: Bug
          Components: Core Components
    Affects Versions: 4.1.3, 4.1.2, 4.1.1
            Reporter: Greg Woolsey


While working on the example code related to TAPESTRY-1959, I encountered this 
very strange behavior:

When a Block that contains a For component that renders a RenderBlock that 
renders the containing block again for each iteration also contains an If 
component, that If component's condition binding is not reevaluated when 
rendering the first child iteration.  I don't know why, but I know what the 
output looks like and the debugger says for _$condition$cached - it says true 
for the first child when it should be false.  I also had debug output in my 
method called as the expression for the condition parameter, and verified it 
wasn't called for the first child iterations at any level.

I don't have a solution, as I don't know where to find the code related to 
cached bindings.  However, using a custom component spec based on If.jwc and 
adding cache="no" to the condition and conditionValue parameters fixed the 
problem.

The same Wiki page referenced in TAPESTRY-1959 contains a section about this 
issue.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to