On Thu, Aug 27, 2009 at 2:09 PM, Ian MacLarty<[email protected]> wrote: > On Thu, Aug 27, 2009 at 1:41 PM, Ian MacLarty<[email protected]> wrote: >> Hi, >> >> I recently upgraded to Wicket 1.4 and am now having a problem with a >> feedback panel. >> >> I have a custom feedback panel that uses custom message components (by >> overriding FeedbackPanel#newMessageDisplayComponent). The custom >> messages have an AjaxEventBehavior on the "onclick" event. This >> highlights the reporting component when the feedback message is >> clicked. This all worked okay in 1.3.6, but after upgrading to 1.4 >> Wicket throws a RuntimeException when the feedback message is clicked. >> The exception is "component >> mainForm:feedback:feedbackul:messages:0:message not found on page >> axa.pfp.MainTabs". If I look in the generated html this component >> definitely seems to be there. Does anyone know what might have >> changed with version 1.4 to break this? >> > > I suspect it is the change made in revision 796389: > > Index: > wicket/src/main/java/org/apache/wicket/markup/html/panel/FeedbackPanel.java > =================================================================== > --- > wicket/src/main/java/org/apache/wicket/markup/html/panel/FeedbackPanel.java > (revision > 796388) > +++ > wicket/src/main/java/org/apache/wicket/markup/html/panel/FeedbackPanel.java > (revision > 796389) > @@ -94,6 +94,13 @@ > listItem.add(levelModifier); > listItem.add(label); > } > + > + @Override > + protected void onDetach() > + { > + removeAll(); > + super.onDetach(); > + } > } > > private static final long serialVersionUID = 1L; > > The removeAll is removing all the child elements of the feedback > message list, which explains why it is not finding the component. >
Sure enough, if I comment out the removeAll() I don't get the problem. I guess I will file a bug report... Ian. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
