Yeah, this is what I wrote in my first comment:

"Thus the next pending Ajax request comes through, since wicket-ajax's defaultPrecondition sees the markupId still present in the dom."

Perhaps we have to cancel out all scheduled callbacks for components which are replaced via Ajax.

Sven

On 01/17/2013 11:34 AM, Ernesto Reinaldo Barreiro wrote:
Hi,

On Thu, Jan 17, 2013 at 11:17 AM, Sven Meier <[email protected]> wrote:

         @Override
         public void detach(Component component)
         {
                 AjaxRequestTarget target = component.getRequestCycle().**
find(AjaxRequestTarget.class);
                 if (target != null)
                 {
                         stop(target);
                 }
                 super.detach(component);
         }


A small nitpick:
Removing a component in an ART might not be the only reason why #detach()
is called. A developer might call component#detach() to force a LDM to
reload on the next render.

Sven


Just another caveat: what happens if during rending time, before call AJAX
response is processed, the behavior is re-fired at client side? Wouldn't
  this produce a component not found exception?


Reply via email to