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 2013/04/26 14:28:06 UTC

git commit: WICKET-5158 Ignore missing Page in StatelessForm#process()

Updated Branches:
  refs/heads/master a3b31f263 -> 908dc6f8e


WICKET-5158 Ignore missing Page in StatelessForm#process()


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

Branch: refs/heads/master
Commit: 908dc6f8e429270e2ae95d7049a28db3e9bbef91
Parents: a3b31f2
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Fri Apr 26 14:27:44 2013 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Fri Apr 26 14:27:44 2013 +0200

----------------------------------------------------------------------
 .../wicket/markup/html/form/StatelessForm.java     |   30 +++++++++------
 1 files changed, 18 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/908dc6f8/wicket-core/src/main/java/org/apache/wicket/markup/html/form/StatelessForm.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/StatelessForm.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/StatelessForm.java
index 588b075..cb4af6e 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/StatelessForm.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/StatelessForm.java
@@ -16,6 +16,7 @@
  */
 package org.apache.wicket.markup.html.form;
 
+import org.apache.wicket.Page;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.util.visit.IVisit;
@@ -86,22 +87,27 @@ public class StatelessForm<T> extends Form<T>
 	{
 		super.process(submittingComponent);
 
-		final PageParameters parameters = getPage().getPageParameters();
-		if (parameters != null)
+		Page page = findPage();
+		// the application may have removed this form from its parent in #onSubmit()
+		if (page != null)
 		{
-			visitFormComponents(new IVisitor<FormComponent<?>, Void>()
+			final PageParameters parameters = page.getPageParameters();
+			if (parameters != null)
 			{
-				@Override
-				public void component(final FormComponent<?> formComponent, final IVisit<Void> visit)
+				visitFormComponents(new IVisitor<FormComponent<?>, Void>()
 				{
-					parameters.remove(formComponent.getInputName());
+					@Override
+					public void component(final FormComponent<?> formComponent, final IVisit<Void> visit)
+					{
+						parameters.remove(formComponent.getInputName());
+					}
+				});
+				parameters.remove(getHiddenFieldId());
+				if (submittingComponent instanceof AbstractSubmitLink)
+				{
+					AbstractSubmitLink submitLink = (AbstractSubmitLink)submittingComponent;
+					parameters.remove(submitLink.getInputName());
 				}
-			});
-			parameters.remove(getHiddenFieldId());
-			if (submittingComponent instanceof AbstractSubmitLink)
-			{
-				AbstractSubmitLink submitLink = (AbstractSubmitLink)submittingComponent;
-				parameters.remove(submitLink.getInputName());
 			}
 		}
 	}