You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ar...@apache.org on 2010/03/11 20:41:40 UTC

svn commit: r921995 - in /myfaces/trinidad/branches/1.2.12.3-branch: ./ trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/ trinidad-sandbox/sandbox-api/src/main/java-templates/org/apache/myfaces/trinidad/sandbox/component/ trinida...

Author: arobinson74
Date: Thu Mar 11 19:41:39 2010
New Revision: 921995

URL: http://svn.apache.org/viewvc?rev=921995&view=rev
Log:
TRINIDAD-1738 - check into the 1.2.12.3 branch

Modified:
    myfaces/trinidad/branches/1.2.12.3-branch/   (props changed)
    myfaces/trinidad/branches/1.2.12.3-branch/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/RequestContextImpl.java
    myfaces/trinidad/branches/1.2.12.3-branch/trinidad-sandbox/sandbox-api/src/main/java-templates/org/apache/myfaces/trinidad/sandbox/component/   (props changed)
    myfaces/trinidad/branches/1.2.12.3-branch/trinidad-sandbox/sandbox-api/src/main/java/org/apache/myfaces/trinidad/sandbox/event/   (props changed)

Propchange: myfaces/trinidad/branches/1.2.12.3-branch/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Mar 11 19:41:39 2010
@@ -4,4 +4,4 @@
 /myfaces/trinidad/branches/1.2.9.1-branch:697924,699406,699496
 /myfaces/trinidad/branches/TRINIDAD-1402:745675
 /myfaces/trinidad/branches/jwaldman_StyleMap:754977-770778
-/myfaces/trinidad/trunk:894885
+/myfaces/trinidad/trunk:894885,915962

Modified: myfaces/trinidad/branches/1.2.12.3-branch/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/RequestContextImpl.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/1.2.12.3-branch/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/RequestContextImpl.java?rev=921995&r1=921994&r2=921995&view=diff
==============================================================================
--- myfaces/trinidad/branches/1.2.12.3-branch/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/RequestContextImpl.java (original)
+++ myfaces/trinidad/branches/1.2.12.3-branch/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/RequestContextImpl.java Thu Mar 11 19:41:39 2010
@@ -615,7 +615,7 @@ public class RequestContextImpl extends 
       // _addTargets(_GLOBAL_TRIGGER);
 
       // now do all listeners
-      _addTargets(updated);
+      _addTargets(updated, new HashSet<UIComponent>());
     }
   }
 
@@ -787,27 +787,28 @@ public class RequestContextImpl extends 
     return lifetimeObj.intValue();
   }
 
-  private void _addTargets(UIComponent key)
+  private void _addTargets(
+    UIComponent      key,
+    Set<UIComponent> visitedComponents)
   {
     Map<UIComponent, Set<UIComponent>> pl = _getPartialListeners();
     Set<UIComponent> listeners = pl.get(key);
-    if (listeners != null)
+    if (listeners != null && !listeners.isEmpty())
     {
-      // protect from infinite recursion
-      pl.remove(key);
+      // protect from infinite recursion by making sure we do not
+      // process the same component twice
+      if (!visitedComponents.add(key))
+      {
+        return;
+      }
 
-      for(UIComponent listener : listeners)
+      for (UIComponent listener : listeners)
       {
         addPartialTarget(listener);
         // This target will be re-rendered, re-render anything that's
         // listening on it also.
-        partialUpdateNotify(listener);
+        _addTargets(listener, visitedComponents);
       }
-      
-      // TRINIDAD-1545
-      // Re-add listeners to the map to accommodate partial targets for different stamps of 
-      // the same component
-      pl.put(key, listeners);
     }
   }
 

Propchange: myfaces/trinidad/branches/1.2.12.3-branch/trinidad-sandbox/sandbox-api/src/main/java-templates/org/apache/myfaces/trinidad/sandbox/component/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Mar 11 19:41:39 2010
@@ -3,4 +3,4 @@
 /myfaces/trinidad/branches/1.2.12.2-branch/trinidad-sandbox/sandbox-api/src/main/java-templates/org/apache/myfaces/trinidad/sandbox/component:895708
 /myfaces/trinidad/branches/1.2.9.1-branch/trinidad-sandbox/sandbox-api/src/main/java-templates/org/apache/myfaces/trinidad/sandbox/component:699406,699496
 /myfaces/trinidad/branches/TRINIDAD-1402/trinidad-sandbox/sandbox-api/src/main/java-templates/org/apache/myfaces/trinidad/sandbox/component:745675
-/myfaces/trinidad/trunk/trinidad-sandbox/sandbox-api/src/main/java-templates/org/apache/myfaces/trinidad/sandbox/component:894885
+/myfaces/trinidad/trunk/trinidad-sandbox/sandbox-api/src/main/java-templates/org/apache/myfaces/trinidad/sandbox/component:894885,915962

Propchange: myfaces/trinidad/branches/1.2.12.3-branch/trinidad-sandbox/sandbox-api/src/main/java/org/apache/myfaces/trinidad/sandbox/event/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Mar 11 19:41:39 2010
@@ -3,4 +3,4 @@
 /myfaces/trinidad/branches/1.2.12.2-branch/trinidad-sandbox/sandbox-api/src/main/java/org/apache/myfaces/trinidad/sandbox/event:895708
 /myfaces/trinidad/branches/1.2.9.1-branch/trinidad-sandbox/sandbox-api/src/main/java/org/apache/myfaces/trinidad/sandbox/event:699406,699496
 /myfaces/trinidad/branches/TRINIDAD-1402/trinidad-sandbox/sandbox-api/src/main/java/org/apache/myfaces/trinidad/sandbox/event:745675
-/myfaces/trinidad/trunk/trinidad-sandbox/sandbox-api/src/main/java/org/apache/myfaces/trinidad/sandbox/event:894885
+/myfaces/trinidad/trunk/trinidad-sandbox/sandbox-api/src/main/java/org/apache/myfaces/trinidad/sandbox/event:894885,915962