You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by jc...@apache.org on 2008/10/04 23:39:44 UTC

svn commit: r701713 - /wicket/trunk/wicket/src/main/java/org/apache/wicket/ajax/AjaxRequestTarget.java

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();