Author: jcompagner
Date: Sat Oct 4 14:39:44 2008
New Revision: 701713
URL: http://svn.apache.org/viewvc?rev=701713&view=rev
Log:
from 1.3 (better handling of ajax detach)
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java?rev=701713&r1=701712&r2=701713&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java
Sat Oct 4 14:39:44 2008
@@ -441,7 +441,11 @@
if (markupIdToComponent.size() > 0)
{
final Component component =
markupIdToComponent.values().iterator().next();
- component.getPage().detach();
+ final Page page =
(Page)component.findParent(Page.class);
+ if (page != null)
+ {
+ page.detach();
+ }
}
}
@@ -761,10 +765,25 @@
page.startComponentRender(component);
- component.prepareForRender();
+ try
+ {
+ component.prepareForRender();
- // render any associated headers of the component
- respondHeaderContribution(response, component);
+ // render any associated headers of the component
+ respondHeaderContribution(response, component);
+ }
+ catch (RuntimeException e)
+ {
+ try
+ {
+ component.afterRender();
+ }
+ catch (RuntimeException e2)
+ {
+ // ignore this one could be a result off.
+ }
+ throw e;
+ }
component.renderComponent();