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.
 	 *