Repository: wicket
Updated Branches:
  refs/heads/master b0be030b1 -> ce5167998


WICKET-5898 StackOverflowError after form submit with a validation error


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

Branch: refs/heads/master
Commit: ce51679981d2b3c478b3c6933783dad5821875ff
Parents: b0be030
Author: Andrea Del Bene <[email protected]>
Authored: Sat May 2 16:50:22 2015 +0200
Committer: Andrea Del Bene <[email protected]>
Committed: Sat May 2 16:50:22 2015 +0200

----------------------------------------------------------------------
 .../markup/html/panel/AbstractMarkupSourcingStrategy.java   | 9 ++++++++-
 .../queueing/transparentresolvers/TestWicket5898.java       | 5 ++---
 2 files changed, 10 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/ce516799/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/AbstractMarkupSourcingStrategy.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/AbstractMarkupSourcingStrategy.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/AbstractMarkupSourcingStrategy.java
index e60eaa3..27407cf 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/AbstractMarkupSourcingStrategy.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/AbstractMarkupSourcingStrategy.java
@@ -67,6 +67,13 @@ public abstract class AbstractMarkupSourcingStrategy 
implements IMarkupSourcingS
                        @Override
                        public void component(MarkupContainer 
resolvingContainer, IVisit<IMarkupFragment> visit)
                        {
+                               //prevents possible searching loops
+                               if (child == resolvingContainer) 
+                               {
+                                       visit.dontGoDeeper();
+                                       return;
+                               }
+                               
                                if (resolvingContainer instanceof 
IComponentResolver)
                                {
                                        visit.dontGoDeeper();
@@ -92,7 +99,7 @@ public abstract class AbstractMarkupSourcingStrategy 
implements IMarkupSourcingS
                                                        visit.stop(childMarkup);
                                                }
                                        }
-                               }
+                               }                               
                        }
                });
        }

http://git-wip-us.apache.org/repos/asf/wicket/blob/ce516799/wicket-core/src/test/java/org/apache/wicket/queueing/transparentresolvers/TestWicket5898.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/test/java/org/apache/wicket/queueing/transparentresolvers/TestWicket5898.java
 
b/wicket-core/src/test/java/org/apache/wicket/queueing/transparentresolvers/TestWicket5898.java
index f154948..453e297 100644
--- 
a/wicket-core/src/test/java/org/apache/wicket/queueing/transparentresolvers/TestWicket5898.java
+++ 
b/wicket-core/src/test/java/org/apache/wicket/queueing/transparentresolvers/TestWicket5898.java
@@ -18,7 +18,6 @@ package org.apache.wicket.queueing.transparentresolvers;
 
 import org.apache.wicket.util.tester.WicketTester;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 
 /**
@@ -69,7 +68,7 @@ public class TestWicket5898
         * that might need rewriting.
         */
        @Test
-       @Ignore("This test fails, should be enabled to trigger WICKET-5898")
+       //@Ignore("This test fails, should be enabled to trigger WICKET-5898")
        public void 
ajaxRequestForComponentInTransparentWebMarkupContainerShouldntCauseStackOverflow()
        {
                tester.startPage(Wicket5898Page.class);
@@ -89,7 +88,7 @@ public class TestWicket5898
         * outer TWMC.
         */
        @Test
-       @Ignore("This test fails, should be enabled to trigger WICKET-5898")
+       //@Ignore("This test fails, should be enabled to trigger WICKET-5898")
        public void 
ajaxRequestForComponentInTransparentWebMarkupContainerShouldntCauseStackOverflow2()
        {
                tester.startPage(Wicket5898Page2.class);

Reply via email to