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 2018/03/22 21:30:14 UTC

[royale-asjs] 03/12: try using addedToParent

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 4f2d2a18934f67d0d99f3fecc2c8ba59465be024
Author: Alex Harui <ah...@apache.org>
AuthorDate: Thu Mar 22 12:00:39 2018 -0700

    try using addedToParent
---
 .../src/main/royale/mx/core/Application.as         | 41 +++++++++++++---------
 1 file changed, 25 insertions(+), 16 deletions(-)

diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/Application.as b/frameworks/projects/MXRoyale/src/main/royale/mx/core/Application.as
index 4ebe1f6..68935af 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/core/Application.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/core/Application.as
@@ -84,6 +84,7 @@ import org.apache.royale.events.Event;
 import org.apache.royale.events.IEventDispatcher;
 import org.apache.royale.events.ValueChangeEvent;
 import org.apache.royale.states.State;
+import org.apache.royale.utils.MixinManager;
 import org.apache.royale.utils.MXMLDataInterpreter;
 import org.apache.royale.utils.Timer;
 import org.apache.royale.utils.loadBeadFromValuesManager;
@@ -351,16 +352,22 @@ public class Application extends Container implements IStrand, IParent, IEventDi
         return _info;
     }
     
+    COMPILE::SWF
+    {
+    [SWFOverride(returns="flash.display.DisplayObjectContainer")]
+    override public function get parent():IParent
+    {
+        // may not work in sub-apps
+        var p:* = root;
+        return p;
+    }
+    }
+        
 	COMPILE::SWF
 	private function initHandler(event:flash.events.Event):void
 	{
 		MouseEventConverter.setupAllConverters(stage);
 		
-		for each (var bead:IBead in beads)
-    		addBead(bead);
-		
-		dispatchEvent(new org.apache.royale.events.Event("beadsAdded"));
-		
 		if (dispatchEvent(new org.apache.royale.events.Event("preinitialize", false, true)))
 			this.initialize();
 		else
@@ -390,8 +397,12 @@ public class Application extends Container implements IStrand, IParent, IEventDi
     COMPILE::SWF
     override public function initialize():void
     {
-        MXMLDataInterpreter.generateMXMLInstances(this, instanceParent, MXMLDescriptor);
-		
+        addBead(new MixinManager());
+        // the application is never added to the dom via addChild
+        // because the parent is the browser, not an IUIBase, but we
+        // need to run most of the code that usually runs when added.
+        addedToParent();
+        
 		this.initManagers();
 
         dispatchEvent(new org.apache.royale.events.Event("initialize"));
@@ -507,12 +518,6 @@ public class Application extends Container implements IStrand, IParent, IEventDi
 	COMPILE::JS
 	public function start():void
 	{
-		for (var index:int in beads) {
-			addBead(beads[index]);
-		}
-		
-		dispatchEvent(new org.apache.royale.events.Event("beadsAdded"));
-		
 		if (dispatchEvent(new org.apache.royale.events.Event("preinitialize", false, true)))
 			initialize();
 		else {			
@@ -543,9 +548,13 @@ public class Application extends Container implements IStrand, IParent, IEventDi
 	{
 		var body:HTMLElement = document.getElementsByTagName('body')[0];
 		body.appendChild(element);
-		
-		MXMLDataInterpreter.generateMXMLInstances(this, instanceParent, MXMLDescriptor);
-		
+        
+        // the application is never added to the dom via addChild
+        // because the parent is the browser, not an IUIBase, but we
+        // need to run most of the code that usually runs when added.
+        addBead(new MixinManager());
+		addedToParent();
+        		
 		dispatchEvent('initialize');
 		
 //		if (initialView)

-- 
To stop receiving notification emails like this one, please contact
aharui@apache.org.