WICKET-4895 WicketRuntimeException: addOrReplace for feedback panel does not 
clear Component.FEEDBACK_LIST - feedback from replaced component causes error.


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/319d372d
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/319d372d
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/319d372d

Branch: refs/heads/master
Commit: 319d372d4f497ad95c4727087ae9552df4b4ceb4
Parents: e17cae3
Author: Martin Tzvetanov Grigorov <[email protected]>
Authored: Thu Nov 29 17:11:37 2012 +0100
Committer: Martin Tzvetanov Grigorov <[email protected]>
Committed: Thu Nov 29 17:12:51 2012 +0100

----------------------------------------------------------------------
 .../src/main/java/org/apache/wicket/Component.java |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/319d372d/wicket-core/src/main/java/org/apache/wicket/Component.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/Component.java 
b/wicket-core/src/main/java/org/apache/wicket/Component.java
index 26bd055..77c7a3a 100644
--- a/wicket-core/src/main/java/org/apache/wicket/Component.java
+++ b/wicket-core/src/main/java/org/apache/wicket/Component.java
@@ -2219,7 +2219,11 @@ public abstract class Component
                                Component[] feedbacksCopy = 
feedbacks.toArray(new Component[feedbacks.size()]);
                                for (Component feedback : feedbacksCopy)
                                {
-                                       feedback.internalBeforeRender();
+                                       // render it only if it is still in the 
page hierarchy (WICKET-4895)
+                                       if (feedback.findPage() != null)
+                                       {
+                                               feedback.internalBeforeRender();
+                                       }
                                }
                        }
                        getRequestCycle().setMetaData(FEEDBACK_LIST, null);

Reply via email to