You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2014/10/29 19:15:59 UTC

[04/23] git commit: [flex-asjs] [refs/heads/develop] - upgrade AddItems to share instances they've created so they don't get re-instantiated

upgrade AddItems to share instances they've created so they don't get re-instantiated


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/2c96825c
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/2c96825c
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/2c96825c

Branch: refs/heads/develop
Commit: 2c96825c2f44ea5208b83d0cf2bfb330f5309cec
Parents: d69d039
Author: Alex Harui <ah...@apache.org>
Authored: Mon Oct 27 11:04:26 2014 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Wed Oct 29 11:15:41 2014 -0700

----------------------------------------------------------------------
 frameworks/as/projects/FlexJSUI/src/mx/states/AddItems.as | 10 +++++++++-
 .../FlexJSUI/src/org/apache/flex/core/SimpleStatesImpl.as | 10 ++++++++--
 2 files changed, 17 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2c96825c/frameworks/as/projects/FlexJSUI/src/mx/states/AddItems.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/mx/states/AddItems.as b/frameworks/as/projects/FlexJSUI/src/mx/states/AddItems.as
index 393f65d..45de88d 100644
--- a/frameworks/as/projects/FlexJSUI/src/mx/states/AddItems.as
+++ b/frameworks/as/projects/FlexJSUI/src/mx/states/AddItems.as
@@ -54,8 +54,10 @@ package mx.states
 		
         public var items:Array;
         
-		public var itemsDescriptor:Array;     
+		public var itemsDescriptorIndex:int;     
 
+        public var itemsDescriptor:Object;     
+        
         public var destination:String;
         
         public var propertyName:String;
@@ -69,6 +71,12 @@ package mx.states
         public function setDocument(document:Object, id:String = null):void
         {
             this.document = document;
+            itemsDescriptor = document.mxmlsd[itemsDescriptorIndex];
+            if (itemsDescriptor is Array)
+            {
+                itemsDescriptor = { object: null, descriptor: itemsDescriptor };
+                document.mxmlsd[itemsDescriptorIndex] = itemsDescriptor;
+            }
         }
         
         /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2c96825c/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/SimpleStatesImpl.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/SimpleStatesImpl.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/SimpleStatesImpl.as
index f467621..a31b680 100644
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/SimpleStatesImpl.as
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/SimpleStatesImpl.as
@@ -142,8 +142,14 @@ package org.apache.flex.core
                     var ai:AddItems = AddItems(o);
                     if (ai.items == null)
                     {
-                        ai.items = MXMLDataInterpreter.generateMXMLArray(ai.document,
-                                                    null, ai.itemsDescriptor);
+                        ai.items = ai.itemsDescriptor.object;
+                        if (ai.items == null)
+                        {
+                            ai.items = 
+                                MXMLDataInterpreter.generateMXMLArray(ai.document,
+                                    null, ai.itemsDescriptor.descriptor);
+                            ai.itemsDescriptor.object = ai.items;
+                        }
                     }
                     for each (var item:DisplayObject in ai.items)
                     {