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]

Reply via email to