Hi Igor, The commit log is simply:
Issue: WICKET-2384. >From http://issues.apache.org/jira/browse/WICKET-2384: Problem is that we keep reference to FeedbackMessage in component inside MessageListView item. The feedback message references previous page - that causes the problem, because the previous page is serialized together with current (and the page before, etc). Simply removing components from MessageListView should fix the problem. class MessageListView { ... @Override protected void onDetach() { removeAll(); super.onDetach(); } } By the way if you have any suggestions on how I could work around my problem without having to go back to 1.3.6 I'd love to hear them. Cheers, Ian. On Thu, Aug 27, 2009 at 2:43 PM, Igor Vaynberg<[email protected]> wrote: > before you file a bug report, what was the commit log for that svn > change you found? > > -igor > > On Wed, Aug 26, 2009 at 9:42 PM, Ian MacLarty<[email protected]> wrote: >> 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] >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
