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)
{