This is an automated email from the ASF dual-hosted git repository.
gregdove 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 7d35765 Crux Fix for ApplicationBase not used in MXRoyale or
SparkRoyale Application base classes. Switch to use IFlexInfo as the
application marker.
7d35765 is described below
commit 7d35765a88634031860cebbead3eed1ebff1e3fc
Author: greg-dove <[email protected]>
AuthorDate: Wed Oct 30 17:05:57 2019 +1300
Crux Fix for ApplicationBase not used in MXRoyale or SparkRoyale
Application base classes. Switch to use IFlexInfo as the application marker.
---
frameworks/projects/Crux/pom.xml | 14 +++++++++++++
.../royale/org/apache/royale/crux/BeanFactory.as | 6 +++---
.../royale/org/apache/royale/crux/BeanProvider.as | 11 ++++++++++-
.../royale/org/apache/royale/crux/CruxManager.as | 5 ++---
.../org/apache/royale/crux/beads/JSStageEvents.as | 2 --
.../royale/crux/utils/view/applicationContains.as | 10 +++++++---
.../crux/utils/view/simulatedSingleEnterFrame.as | 23 +++++++++++-----------
7 files changed, 48 insertions(+), 23 deletions(-)
diff --git a/frameworks/projects/Crux/pom.xml b/frameworks/projects/Crux/pom.xml
index 6d6eb74..7dc69c8 100644
--- a/frameworks/projects/Crux/pom.xml
+++ b/frameworks/projects/Crux/pom.xml
@@ -79,6 +79,13 @@
</dependency>
<dependency>
<groupId>org.apache.royale.framework</groupId>
+ <artifactId>Basic</artifactId>
+ <version>0.9.7-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>swf</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.royale.framework</groupId>
<artifactId>Reflection</artifactId>
<version>0.9.7-SNAPSHOT</version>
<type>swc</type>
@@ -151,6 +158,13 @@
</dependency>
<dependency>
<groupId>org.apache.royale.framework</groupId>
+ <artifactId>Basic</artifactId>
+ <version>0.9.7-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.royale.framework</groupId>
<artifactId>Language</artifactId>
<version>0.9.7-SNAPSHOT</version>
<type>swc</type>
diff --git
a/frameworks/projects/Crux/src/main/royale/org/apache/royale/crux/BeanFactory.as
b/frameworks/projects/Crux/src/main/royale/org/apache/royale/crux/BeanFactory.as
index 4c731a8..cb3b4c2 100644
---
a/frameworks/projects/Crux/src/main/royale/org/apache/royale/crux/BeanFactory.as
+++
b/frameworks/projects/Crux/src/main/royale/org/apache/royale/crux/BeanFactory.as
@@ -15,7 +15,7 @@
*/
package org.apache.royale.crux
{
- import org.apache.royale.core.ApplicationBase;
+ import org.apache.royale.core.IFlexInfo;
import org.apache.royale.core.IRoyaleElement;
import org.apache.royale.core.UIBase;
COMPILE::SWF{
@@ -508,7 +508,7 @@ package org.apache.royale.crux
if( removedDisplayObjects.length == 0 )
{
//like 'removing' enterframe
event listener...
-
simulatedSingleEnterFrame(ApplicationBase(crux.dispatcher), enterFrameHandler,
true);
+
simulatedSingleEnterFrame(IFlexInfo(crux.dispatcher), enterFrameHandler, true);
isListeningForEnterFrame =
false;
}
@@ -570,7 +570,7 @@ package org.apache.royale.crux
if( !isListeningForEnterFrame )
{
//crux.dispatcher.addEventListener(
Event.ENTER_FRAME, enterFrameHandler, false, 0, true );
-
simulatedSingleEnterFrame(ApplicationBase(crux.dispatcher), enterFrameHandler,
false);
+
simulatedSingleEnterFrame(IFlexInfo(crux.dispatcher), enterFrameHandler, false);
isListeningForEnterFrame = true;
}
}
diff --git
a/frameworks/projects/Crux/src/main/royale/org/apache/royale/crux/BeanProvider.as
b/frameworks/projects/Crux/src/main/royale/org/apache/royale/crux/BeanProvider.as
index a0bcc29..aead844 100644
---
a/frameworks/projects/Crux/src/main/royale/org/apache/royale/crux/BeanProvider.as
+++
b/frameworks/projects/Crux/src/main/royale/org/apache/royale/crux/BeanProvider.as
@@ -115,7 +115,16 @@ package org.apache.royale.crux
{
// BeanProvider will take care of
setting the type descriptor,
// but we want to wrap the instances in
Bean classes to set the Bean.name to id
- child = varDef.getValue(inspect);
+ if (name == 'model') { // accessing
Royale model accessor can throw an error if it is not set and there is not css
value supplied
+ try{
+ child =
varDef.getValue(inspect);
+ } catch(e:Error) {
+ child = null;
+ }
+ } else {
+ child =
varDef.getValue(inspect);
+ }
+
if(child != null)
{
found = false;
diff --git
a/frameworks/projects/Crux/src/main/royale/org/apache/royale/crux/CruxManager.as
b/frameworks/projects/Crux/src/main/royale/org/apache/royale/crux/CruxManager.as
index ea3688c..b4802d2 100644
---
a/frameworks/projects/Crux/src/main/royale/org/apache/royale/crux/CruxManager.as
+++
b/frameworks/projects/Crux/src/main/royale/org/apache/royale/crux/CruxManager.as
@@ -15,8 +15,7 @@
*/
package org.apache.royale.crux
{
-
- import org.apache.royale.core.ApplicationBase;
+ import org.apache.royale.core.IFlexInfo;
import org.apache.royale.core.UIBase;
import org.apache.royale.crux.processors.IProcessor;
import org.apache.royale.crux.processors.IMetadataProcessor;
@@ -85,7 +84,7 @@ package org.apache.royale.crux
{
var crux:ICrux = ICrux( cruxes[ i ] );
- if (applicationContains(ApplicationBase(
crux.dispatcher ), view))
+ if (applicationContains(IFlexInfo(
crux.dispatcher ), view))
{
setUpView( view, crux );
return;
diff --git
a/frameworks/projects/Crux/src/main/royale/org/apache/royale/crux/beads/JSStageEvents.as
b/frameworks/projects/Crux/src/main/royale/org/apache/royale/crux/beads/JSStageEvents.as
index 13136bb..9ab96f0 100644
---
a/frameworks/projects/Crux/src/main/royale/org/apache/royale/crux/beads/JSStageEvents.as
+++
b/frameworks/projects/Crux/src/main/royale/org/apache/royale/crux/beads/JSStageEvents.as
@@ -27,8 +27,6 @@ package org.apache.royale.crux.beads
import org.apache.royale.events.Event;
import org.apache.royale.events.EventDispatcher;
import org.apache.royale.events.IEventDispatcher;
- import org.apache.royale.core.IRenderedObject;
- import org.apache.royale.core.ApplicationBase;
import org.apache.royale.core.UIBase;
COMPILE::JS {
diff --git
a/frameworks/projects/Crux/src/main/royale/org/apache/royale/crux/utils/view/applicationContains.as
b/frameworks/projects/Crux/src/main/royale/org/apache/royale/crux/utils/view/applicationContains.as
index a07a1e2..73b5cc1 100644
---
a/frameworks/projects/Crux/src/main/royale/org/apache/royale/crux/utils/view/applicationContains.as
+++
b/frameworks/projects/Crux/src/main/royale/org/apache/royale/crux/utils/view/applicationContains.as
@@ -23,12 +23,16 @@
package org.apache.royale.crux.utils.view {
import org.apache.royale.core.UIBase;
- import org.apache.royale.core.ApplicationBase;
+ import org.apache.royale.core.IFlexInfo;
COMPILE::SWF{
import flash.display.DisplayObjectContainer;
import flash.display.DisplayObject;
}
+
+ COMPILE::JS{
+ import org.apache.royale.core.HTMLElementWrapper;
+ }
/**
@@ -40,7 +44,7 @@ package org.apache.royale.crux.utils.view {
*
* @royaleignorecoercion org.apache.royale.core.HTMLElementWrapper
*/
- public function applicationContains(container:ApplicationBase,
content:UIBase):Boolean {
+ public function applicationContains(container:IFlexInfo,
content:UIBase):Boolean {
if (!content) return false;
if (!container) return false;
COMPILE::SWF{
@@ -48,7 +52,7 @@ package org.apache.royale.crux.utils.view {
}
COMPILE::JS{
- return container.element.contains(content.element)
+ return
HTMLElementWrapper(container).element.contains(content.element)
}
}
diff --git
a/frameworks/projects/Crux/src/main/royale/org/apache/royale/crux/utils/view/simulatedSingleEnterFrame.as
b/frameworks/projects/Crux/src/main/royale/org/apache/royale/crux/utils/view/simulatedSingleEnterFrame.as
index 04e13b2..a50b994 100644
---
a/frameworks/projects/Crux/src/main/royale/org/apache/royale/crux/utils/view/simulatedSingleEnterFrame.as
+++
b/frameworks/projects/Crux/src/main/royale/org/apache/royale/crux/utils/view/simulatedSingleEnterFrame.as
@@ -21,13 +21,13 @@
* Swiz Framework library by Chris Scott, Ben Clinkinbeard, Sönke Rohde, John
Yanarella, Ryan Campbell, and others https://github.com/swiz/swiz-framework
*/
package org.apache.royale.crux.utils.view {
-
-
- import org.apache.royale.core.ApplicationBase;
+
+ import org.apache.royale.core.IFlexInfo;
COMPILE::SWF{
-
import flash.events.Event;
+ import flash.display.DisplayObjectContainer;
+ import flash.display.DisplayObject;
}
@@ -40,17 +40,17 @@ package org.apache.royale.crux.utils.view {
*
* @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
*/
- public function simulatedSingleEnterFrame(container:ApplicationBase,
callback:Function, removeOnly:Boolean = false):void {
+ public function simulatedSingleEnterFrame(container:IFlexInfo,
callback:Function, removeOnly:Boolean = false):void {
if (!container) return ;
COMPILE::SWF{
var listener:Function = Support.map[container];
if (listener != null) {
-
container.removeEventListener(Event.ENTER_FRAME, listener);
+
DisplayObjectContainer(container).removeEventListener(Event.ENTER_FRAME,
listener);
}
if (!removeOnly) {
Support.map[container] =
Support.getListener(callback, container);
- container.addEventListener(Event.ENTER_FRAME,
Support.map[container]);
+
DisplayObjectContainer(container).addEventListener(Event.ENTER_FRAME,
Support.map[container]);
}
}
@@ -67,10 +67,11 @@ package org.apache.royale.crux.utils.view {
}
}
-import org.apache.royale.core.ApplicationBase;
+import org.apache.royale.core.IFlexInfo;
COMPILE::SWF{
import flash.utils.Dictionary;
import flash.events.Event;
+ import flash.events.EventDispatcher;
}
class Support {
@@ -82,7 +83,7 @@ class Support {
public static const map:Dictionary = new Dictionary();
COMPILE::JS
- public static function getListener(callback:Function,
container:ApplicationBase):Function {
+ public static function getListener(callback:Function,
container:IFlexInfo):Function {
return function(timeStamp:Number):void{
Support.map.delete(container);
callback();
@@ -91,9 +92,9 @@ class Support {
}
COMPILE::SWF
- public static function getListener(callback:Function,
container:ApplicationBase):Function {
+ public static function getListener(callback:Function,
container:IFlexInfo):Function {
var f:Function = function(e:Event):void{
-
container.removeEventListener(Event.ENTER_FRAME, f);
+
EventDispatcher(container).removeEventListener(Event.ENTER_FRAME, f);
delete Support.map[container];
callback();
};