You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by pa...@apache.org on 2015/09/16 15:30:36 UTC

wicket git commit: Fixed performance degradation due to component queueing

Repository: wicket
Updated Branches:
  refs/heads/WICKET-5981 [created] 76a771221


Fixed performance degradation due to component queueing


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

Branch: refs/heads/WICKET-5981
Commit: 76a771221fbd405949bdac402effb6c29a71162c
Parents: 82f7595
Author: Emond Papegaaij <em...@topicus.nl>
Authored: Wed Sep 16 15:30:12 2015 +0200
Committer: Emond Papegaaij <em...@topicus.nl>
Committed: Wed Sep 16 15:30:12 2015 +0200

----------------------------------------------------------------------
 .../src/main/java/org/apache/wicket/MarkupContainer.java | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/76a77122/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java b/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
index c01b90e..3a09e33 100644
--- a/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
+++ b/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
@@ -1987,8 +1987,17 @@ public abstract class MarkupContainer extends Component implements Iterable<Comp
 		}
 		else
 		{
-			MarkupContainer queueRegion = (MarkupContainer)findParent(IQueueRegion.class);
+			MarkupContainer containerWithQueue = this;
+			while (containerWithQueue.queue == null || containerWithQueue.queue.isEmpty())
+			{
+				containerWithQueue = containerWithQueue.getParent();
+				if (containerWithQueue == null)
+				{
+					return;
+				}
+			}
 
+			MarkupContainer queueRegion = (MarkupContainer)findParent(IQueueRegion.class);
 			if (queueRegion != null && !queueRegion.getRequestFlag(RFLAG_CONTAINER_DEQUEING))
 			{
 				queueRegion.dequeue();