[ https://issues.apache.org/jira/browse/WICKET-1740?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Johan Compagner closed WICKET-1740. ----------------------------------- Resolution: Fixed Fix Version/s: 1.4-M4 1.3.5 > RequestCycle.urlFor modifies page parameters > -------------------------------------------- > > Key: WICKET-1740 > URL: https://issues.apache.org/jira/browse/WICKET-1740 > Project: Wicket > Issue Type: Bug > Affects Versions: 1.3.4 > Reporter: Juliano Viana > Assignee: Johan Compagner > Fix For: 1.3.5, 1.4-M4 > > > The method RequestCycle.urlFor(final Component component,final > RequestListenerInterface listener, ValueMap params) (RequestCycle.java line > 824) obtains a PageParameters instance from the current page or creates a new > instance if the page has no associated PageParameters. It then proceeds to > add to the PageParameters instance all the parameters passed on the 'params' > argument. If its using the PageParameters instance associated with the > current Page that means the parameters of the page are permanently altered > and any code later in the request cycle that depends upon these parameters is > going to be broken. > I believe the soluction would be to clone the PageParameters instance > obtained from the Page, as in: > PageParameters pageParameters = page.getPageParameters(); > if (pageParameters == null) > { > pageParameters = new PageParameters(); > } > else > pageParameters = > (PageParameters)pageParameters.clone(); > The above change doesn't seem to break any test cases. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.