fixes a bug where border's getbodycontainer is left as a child of border even if it was added to another container
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/835db0bf Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/835db0bf Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/835db0bf Branch: refs/heads/sandbox/feedback Commit: 835db0bf267a6c1b713f9801237c68cba043e9af Parents: 36bb487 Author: Igor Vaynberg <[email protected]> Authored: Wed Feb 1 15:57:01 2012 -0800 Committer: Igor Vaynberg <[email protected]> Committed: Wed Feb 1 15:57:01 2012 -0800 ---------------------------------------------------------------------- .../apache/wicket/markup/html/border/Border.java | 12 +++++++++++- 1 files changed, 11 insertions(+), 1 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/835db0bf/wicket-core/src/main/java/org/apache/wicket/markup/html/border/Border.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/border/Border.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/border/Border.java index 844db13..af5f0f3 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/html/border/Border.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/border/Border.java @@ -222,7 +222,17 @@ public abstract class Border extends WebMarkupContainer implements IComponentRes @Override public Border remove(final Component component) { - getBodyContainer().remove(component); + if (component == body) + { + // when the user calls foo.add(getBodyContainer()) this method will be called with it to + // clear body container's old parent, in which case we do not want to redirect to body + // container but to border's old remove. + super.remove(body); + } + else + { + getBodyContainer().remove(component); + } return this; }
