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);
+ }
}
}