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:31:16 UTC

wicket git commit: WICKET-5981: Fixed performance degradation due to component queueing

Repository: wicket
Updated Branches:
  refs/heads/WICKET-5981 76a771221 -> ce8229325 (forced update)


WICKET-5981: 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/ce822932
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/ce822932
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/ce822932

Branch: refs/heads/WICKET-5981
Commit: ce8229325fb63ca9de6a8930229113dfbf852008
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:45 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/ce822932/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();