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 2007/05/22 17:42:29 UTC
svn commit: r540610 - in
/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket:
Component.java Page.java
Author: jcompagner
Date: Tue May 22 08:42:24 2007
New Revision: 540610
URL: http://svn.apache.org/viewvc?view=rev&rev=540610
Log:
made sure that afterRender() is always called
else the flag rendering sticks to true
This still can happen if there is a exception in onAfterRender for the childs..
Modified:
incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Component.java
incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Page.java
Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Component.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Component.java?view=diff&rev=540610&r1=540609&r2=540610
==============================================================================
--- incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Component.java (original)
+++ incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Component.java Tue May 22 08:42:24 2007
@@ -3076,21 +3076,27 @@
{
// if the component has been previously attached via attach()
// detach it now
- setFlag(FLAG_AFTER_RENDERING, true);
- onAfterRender();
- if (getFlag(FLAG_AFTER_RENDERING))
+ try
{
- throw new IllegalStateException(
- Component.class.getName()
- + " has not been properly detached. Something in the hierarchy of "
- + getClass().getName()
- + " has not called super.onAfterRender() in the override of onAfterRender() method");
+ setFlag(FLAG_AFTER_RENDERING, true);
+ onAfterRender();
+ if (getFlag(FLAG_AFTER_RENDERING))
+ {
+ throw new IllegalStateException(
+ Component.class.getName()
+ + " has not been properly detached. Something in the hierarchy of "
+ + getClass().getName()
+ + " has not called super.onAfterRender() in the override of onAfterRender() method");
+ }
+ // always detach children because components can be attached
+ // independently of their parents
+ onAfterRenderChildren();
+ }
+ finally
+ {
+ // this flag must always be set to false.
+ setFlag(FLAG_RENDERING, false);
}
- setFlag(FLAG_RENDERING, false);
-
- // always detach children because components can be attached
- // independently of their parents
- onAfterRenderChildren();
}
/**
Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Page.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Page.java?view=diff&rev=540610&r1=540609&r2=540610
==============================================================================
--- incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Page.java (original)
+++ incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Page.java Tue May 22 08:42:24 2007
@@ -894,9 +894,14 @@
});
// Handle request by rendering page
- render(null);
-
- afterRender();
+ try
+ {
+ render(null);
+ }
+ finally
+ {
+ afterRender();
+ }
// Check rendering if it happened fully
checkRendering(this);