WICKET-4959 Unproperly detached Behavior with TabbedPanels Stop the Ajax timer behavior when the behavior's component is removed from the tree
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/0b78d759 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/0b78d759 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/0b78d759 Branch: refs/heads/master Commit: 0b78d759220c1b09abb0d47b5007757bbfeb4e0c Parents: e37a9e1 Author: Martin Tzvetanov Grigorov <mgrigo...@apache.org> Authored: Thu Jan 17 11:18:22 2013 +0200 Committer: Martin Tzvetanov Grigorov <mgrigo...@apache.org> Committed: Thu Jan 17 11:18:22 2013 +0200 ---------------------------------------------------------------------- .../wicket/ajax/AbstractAjaxTimerBehavior.java | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/0b78d759/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractAjaxTimerBehavior.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractAjaxTimerBehavior.java b/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractAjaxTimerBehavior.java index 83edeaa..a80921d 100644 --- a/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractAjaxTimerBehavior.java +++ b/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractAjaxTimerBehavior.java @@ -194,4 +194,15 @@ public abstract class AbstractAjaxTimerBehavior extends AbstractDefaultAjaxBehav String timeoutHandle = getTimeoutHandle(); target.prependJavaScript("clearTimeout("+timeoutHandle+"); delete "+timeoutHandle+";"); } + + @Override + public void detach(Component component) + { + AjaxRequestTarget target = component.getRequestCycle().find(AjaxRequestTarget.class); + if (target != null) + { + stop(target); + } + super.detach(component); + } }