WICKET-5104 AjaxSelfUpdatingTimerBehavior in hidden component in ModalWindow 
causes Ajax Response Error


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/1ccb57d7
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/1ccb57d7
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/1ccb57d7

Branch: refs/heads/master
Commit: 1ccb57d741e1467b2ba296e4c6d135a558c1565b
Parents: e8dab4a
Author: Martin Tzvetanov Grigorov <[email protected]>
Authored: Tue Apr 9 00:07:28 2013 +0300
Committer: Martin Tzvetanov Grigorov <[email protected]>
Committed: Tue Apr 9 00:14:51 2013 +0300

----------------------------------------------------------------------
 .../wicket/ajax/AbstractAjaxTimerBehavior.java     |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/1ccb57d7/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 7b5065e..f4acfc8 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
@@ -190,9 +190,12 @@ public abstract class AbstractAjaxTimerBehavior extends 
AbstractDefaultAjaxBehav
         */
        public final void stop(final AjaxRequestTarget target)
        {
-               stopped = true;
-               String timeoutHandle = getTimeoutHandle();
-               target.prependJavaScript("clearTimeout("+timeoutHandle+"); 
delete "+timeoutHandle+";");
+               if (headRendered && stopped == false)
+               {
+                       stopped = true;
+                       String timeoutHandle = getTimeoutHandle();
+                       
target.prependJavaScript("clearTimeout("+timeoutHandle+"); delete 
"+timeoutHandle+";");
+               }
        }
 
        @Override

Reply via email to