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