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);
