[
https://issues.apache.org/jira/browse/WICKET-943?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12532317
]
Alexander Suslov commented on WICKET-943:
-----------------------------------------
I think that it a logical issue and need to be fixed here (in renderComponent
method by switching method call), because logic of many components is based on
visibility status. If after that some components will work incorrectly, then
this components need to be fixed. This problem look likes a result of some
quick crunch that was made earlier.
Or this bug also can be fixed by removing check of visibility status in attach
method, but this will reduce system performance.
> java.lang.NullPointerException at
> wicket.markup.html.list.ListView.renderItem(ListView.java:676)
> ------------------------------------------------------------------------------------------------
>
> Key: WICKET-943
> URL: https://issues.apache.org/jira/browse/WICKET-943
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 1.2.6
> Environment: Window XP SP3, Java 1.6, Tomcat 5.0_09
> Reporter: Alexander Suslov
> Assignee: Johan Compagner
> Priority: Blocker
> Fix For: 1.2.7
>
>
> This problem happens if parent component has been hidden by authorization
> strategy during the previous page render, but on the next render parent
> component becomes visible. This problem is common for all repeaters. The
> problem here is in internalOnAttach() method of repeaters. This method will
> not populate items if it not visible in hierarchy, but when it checks this it
> use old visible state (Component.FLAG_IS_RENDER_ALLOWED) of component (itself
> and parent components), this state is changed after setRenderAllowed() method
> in Component.java on 1630 line returns, but internalAttach() method is called
> earlier in Component.java on 1624 line. After that component become visible
> and will be rendered. But it can't be rendered because items were not
> populated, so null pointer exception occurs.
> This problem can be fixed if method calls of internalAttach() and
> setRenderAllowed(isActionAuthorized(RENDER)) will be swapped or logic of
> repeaters (ListView, DataView, etc) components will be changed.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.