This is an automated email from the ASF dual-hosted git repository. aharui pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit 7628fb6071634646344a74f5fde8f50509dd26de Author: Alex Harui <[email protected]> AuthorDate: Sun Nov 22 23:34:54 2020 -0800 special case height/width in states --- .../royale/core/StatesWithTransitionsImpl.as | 27 +++++++++++++++++----- 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/frameworks/projects/Effects/src/main/royale/org/apache/royale/core/StatesWithTransitionsImpl.as b/frameworks/projects/Effects/src/main/royale/org/apache/royale/core/StatesWithTransitionsImpl.as index 041ff67..587435a 100644 --- a/frameworks/projects/Effects/src/main/royale/org/apache/royale/core/StatesWithTransitionsImpl.as +++ b/frameworks/projects/Effects/src/main/royale/org/apache/royale/core/StatesWithTransitionsImpl.as @@ -65,6 +65,19 @@ package org.apache.royale.core private var _strand:IStrand; private var sawInitComplete:Boolean; + + /** + * @private + * This is a table of pseudonyms. + * Whenever the property being overridden is found in this table, + * the pseudonym is saved/restored instead. + */ + private static const PSEUDONYMS:Object = + { + width: "explicitWidth", + height: "explicitHeight", + currentState: "currentStateDeferred" + }; /** * @copy org.apache.royale.core.IBead#strand @@ -262,10 +275,11 @@ package org.apache.royale.core else if (o is SetProperty) { var sp:SetProperty = SetProperty(o); + var propName:String = PSEUDONYMS[sp.name] || sp.name; if (sp.target != null) - sp.document[sp.target][sp.name] = sp.previousValue; + sp.document[sp.target][propName] = sp.previousValue; else - sp.document[sp.name] = sp.previousValue; + sp.document[propName] = sp.previousValue; } else if (o is SetEventHandler) { @@ -359,15 +373,16 @@ package org.apache.royale.core else if (o is SetProperty) { var sp:SetProperty = SetProperty(o); + var propName:String = PSEUDONYMS[sp.name] || sp.name; if (sp.target != null) { - sp.previousValue = sp.document[sp.target][sp.name]; - sp.document[sp.target][sp.name] = sp.value; + sp.previousValue = sp.document[sp.target][propName]; + sp.document[sp.target][propName] = sp.value; } else { - sp.previousValue = sp.document[sp.name]; - sp.document[sp.name] = sp.value; + sp.previousValue = sp.document[propName]; + sp.document[propName] = sp.value; } } else if (o is SetEventHandler)
