You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ah...@apache.org on 2020/02/29 01:38:24 UTC
[royale-asjs] branch develop updated: handle more complex nested
states. We probably will not handle in SimpleStatesImpl,
a NestedStatesImpl would be more PAYG. With royale-compiler
51f04bc6739aed22a0f40c3a736e45114341bc03, fixes #737
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
The following commit(s) were added to refs/heads/develop by this push:
new abb16ce handle more complex nested states. We probably will not handle in SimpleStatesImpl, a NestedStatesImpl would be more PAYG. With royale-compiler 51f04bc6739aed22a0f40c3a736e45114341bc03, fixes #737
abb16ce is described below
commit abb16cee4b5a141b42d0ecd82676a800517b534a
Author: Alex Harui <ah...@apache.org>
AuthorDate: Fri Feb 28 17:37:09 2020 -0800
handle more complex nested states. We probably will not handle in SimpleStatesImpl, a NestedStatesImpl would be more PAYG. With royale-compiler 51f04bc6739aed22a0f40c3a736e45114341bc03, fixes #737
---
.../org/apache/royale/core/StatesWithTransitionsImpl.as | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
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 519f486..041ff67 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
@@ -313,11 +313,21 @@ package org.apache.royale.core
var childrenAdded:Boolean = false;
for each (var item:IChild in ai.items)
{
- if (!isItemInState(item, oldState))
+ // if item.parent == null then the item wasn't parented in the
+ // old state possibly because its parent was excluded in the old statte
+ // see GH issue #737
+ if (!isItemInState(item, oldState) || item.parent == null)
{
var parent:IParent = ai.document as IParent;
if (ai.destination != null)
+ {
parent = parent[ai.destination] as IParent;
+ // SimpleStatesImpl assumes the parent exists (no complex nested states)
+ // but we will check here
+ if (parent == null) continue;
+ // if no parent, might might be excluded in current state.
+ // we might later find that the parent hasn't been added yet, not sure.
+ }
if (ai.relativeTo != null)
{
var child:IChild = ai.document[ai.relativeTo] as IChild;