WICKET-6018 TransparentWebMarkupContainer is not really 'transparent'

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

Branch: refs/heads/lambdas
Commit: bb2ba2805f5dfb2988c54911cb0008bd4fc84ae0
Parents: 0cb1f69
Author: Andrea Del Bene <[email protected]>
Authored: Mon Nov 2 15:47:52 2015 +0100
Committer: Andrea Del Bene <[email protected]>
Committed: Mon Nov 2 16:17:48 2015 +0100

----------------------------------------------------------------------
 .../markup/html/TransparentWebMarkupContainer.java   | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/bb2ba280/wicket-core/src/main/java/org/apache/wicket/markup/html/TransparentWebMarkupContainer.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/TransparentWebMarkupContainer.java
 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/TransparentWebMarkupContainer.java
index 270560f..cc336f3 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/markup/html/TransparentWebMarkupContainer.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/markup/html/TransparentWebMarkupContainer.java
@@ -156,4 +156,19 @@ public class TransparentWebMarkupContainer extends 
WebMarkupContainer implements
                        }
                }
        }
+       
+       @Override
+       protected void addDequeuedComponent(Component component, ComponentTag 
tag)
+       {       
+               //Transparent containers should be 'transparent' to component 
queuing, 
+               //hence we should add queued components to parent.
+               MarkupContainer parent = getParent();
+               
+               while (parent instanceof TransparentWebMarkupContainer)
+               {
+                       parent = parent.getParent();
+               }
+               
+               parent.add(component);          
+       }
 }

Reply via email to