This is an automated email from the ASF dual-hosted git repository.

aharui pushed a commit to branch feature/MXRoyale
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit 51816c63a90a547d479f891c8adf6b6269fc5a9e
Author: Alex Harui <[email protected]>
AuthorDate: Mon Apr 2 10:25:17 2018 -0700

    fix up component/document chain
---
 .../MXRoyale/src/main/royale/mx/core/UIComponent.as    | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git 
a/frameworks/projects/MXRoyale/src/main/royale/mx/core/UIComponent.as 
b/frameworks/projects/MXRoyale/src/main/royale/mx/core/UIComponent.as
index 1371b81..87886e8 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/core/UIComponent.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/core/UIComponent.as
@@ -41,11 +41,11 @@ import flash.events.EventPhase;
 import flash.events.FocusEvent;
 import flash.events.IEventDispatcher;
 */
+import mx.controls.beads.ToolTipBead;
 import mx.events.FlexEvent;
 import mx.managers.ICursorManager;
 import mx.managers.IFocusManager;
 import mx.managers.ISystemManager;
-import mx.controls.beads.ToolTipBead;
 
 import org.apache.royale.core.CallLaterBead;
 import org.apache.royale.core.IStatesImpl;
@@ -53,14 +53,14 @@ import org.apache.royale.core.IStatesObject;
 import org.apache.royale.core.TextLineMetrics;
 import org.apache.royale.core.UIBase;
 import org.apache.royale.core.ValuesManager;
+import org.apache.royale.html.supportClasses.ContainerContentArea;
 import org.apache.royale.events.Event;
 import org.apache.royale.events.KeyboardEvent;
 import org.apache.royale.events.ValueChangeEvent;
 import org.apache.royale.geom.Point;
 import org.apache.royale.geom.Rectangle;
-//import org.apache.royale.html.accessories.ToolTipBead;
-import org.apache.royale.utils.loadBeadFromValuesManager;
 import org.apache.royale.utils.PointUtils;
+import org.apache.royale.utils.loadBeadFromValuesManager;
 
 /*
 import mx.managers.IToolTipManagerClient;
@@ -720,6 +720,9 @@ public class UIComponent extends UIBase
             var child:IUIComponent = getChildAt(i) as IUIComponent;
             if (!child)
                 continue;
+            // JS subtrees will point back to the component.  Ignore those.
+            if (child == this)
+                continue;
             
             if (child.component == _component ||
                 child.component == FlexGlobals.topLevelApplication)
@@ -731,6 +734,15 @@ public class UIComponent extends UIBase
         _component = value;
     }
     
+    override public function addedToParent():void
+    {
+        super.addedToParent();
+        if (!component && parent is UIComponent)
+            component = UIComponent(parent).component;
+        else if (!component && parent is ContainerContentArea)
+            component = 
UIComponent(ContainerContentArea(parent).parent).component;
+    }
+    
     //----------------------------------
     //  parentApplication
     //----------------------------------

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to