You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2009/11/27 03:31:10 UTC

svn commit: r884739 - in /myfaces/core/trunk/api/src/main/java/javax/faces/component: UIComponent.java UIViewRoot.java

Author: lu4242
Date: Fri Nov 27 02:31:09 2009
New Revision: 884739

URL: http://svn.apache.org/viewvc?rev=884739&view=rev
Log:
MYFACES-2427 Composite Component not bound when calling ValueExpression from broadcast

Modified:
    myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponent.java
    myfaces/core/trunk/api/src/main/java/javax/faces/component/UIViewRoot.java

Modified: myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponent.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponent.java?rev=884739&r1=884738&r2=884739&view=diff
==============================================================================
--- myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponent.java (original)
+++ myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponent.java Fri Nov 27 02:31:09 2009
@@ -343,10 +343,10 @@
         if(component == null) {
             return null;
         }
-        UIComponent parent = null;
+        UIComponent parent = component;
 
         do {
-            parent = component.getParent();
+            parent = parent.getParent();
             if(parent != null && UIComponent.isCompositeComponent(parent)) {
                 return parent;
             }

Modified: myfaces/core/trunk/api/src/main/java/javax/faces/component/UIViewRoot.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/api/src/main/java/javax/faces/component/UIViewRoot.java?rev=884739&r1=884738&r2=884739&view=diff
==============================================================================
--- myfaces/core/trunk/api/src/main/java/javax/faces/component/UIViewRoot.java (original)
+++ myfaces/core/trunk/api/src/main/java/javax/faces/component/UIViewRoot.java Fri Nov 27 02:31:09 2009
@@ -798,7 +798,11 @@
         for (FacesEvent event : events)
         {
             UIComponent source = event.getComponent();
-
+            UIComponent compositeParent = UIComponent.getCompositeComponentParent(source);
+            if (compositeParent != null)
+            {
+                pushComponentToEL(context, compositeParent);
+            }
             // Push the source as the current component
             pushComponentToEL(context, source);
 
@@ -816,6 +820,10 @@
             {
                 // Restore the current component
                 popComponentFromEL(context);
+                if (compositeParent != null)
+                {
+                    popComponentFromEL(context);
+                }
             }
         }