You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2012/11/25 22:45:09 UTC
git commit: WICKET-4886 Do not register Ajax timer if the component
is removed
Updated Branches:
refs/heads/master fd1b33987 -> f430bf75a
WICKET-4886 Do not register Ajax timer if the component is removed
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/f430bf75
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/f430bf75
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/f430bf75
Branch: refs/heads/master
Commit: f430bf75adf3be298b1bbab1f666f78812a75186
Parents: fd1b339
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Sun Nov 25 22:42:53 2012 +0100
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Sun Nov 25 22:42:53 2012 +0100
----------------------------------------------------------------------
.../wicket/ajax/AbstractAjaxTimerBehavior.java | 17 ++++++++++++--
1 files changed, 14 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/f430bf75/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 3071875..6fb5876 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
@@ -21,6 +21,7 @@ import org.apache.wicket.core.util.string.JavaScriptUtils;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.head.JavaScriptHeaderItem;
import org.apache.wicket.markup.head.OnLoadHeaderItem;
+import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.request.http.WebRequest;
import org.apache.wicket.util.time.Duration;
@@ -127,15 +128,25 @@ public abstract class AbstractAjaxTimerBehavior extends AbstractDefaultAjaxBehav
@Override
protected final void respond(final AjaxRequestTarget target)
{
- if (!isStopped() && isEnabled(getComponent()))
+ if (shouldTrigger())
{
onTimer(target);
- target.getHeaderResponse().render(
- OnLoadHeaderItem.forScript(getJsTimeoutCall(updateInterval)));
+ if (shouldTrigger())
+ {
+ target.getHeaderResponse().render(
+ OnLoadHeaderItem.forScript(getJsTimeoutCall(updateInterval)));
+ }
}
}
+ private boolean shouldTrigger()
+ {
+ return isStopped() == false &&
+ isEnabled(getComponent()) &&
+ getComponent().findParent(WebPage.class) != null;
+ }
+
/**
* Listener method for the AJAX timer event.
*