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
commit cb4df561ede120049ea33f4ef0866207ea6a57cb Author: greg-dove <[email protected]> AuthorDate: Wed Apr 15 20:05:48 2020 +1200 Fix for ExternalInterface calls with member access --- .../src/main/royale/mx/external/ExternalInterface.as | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/external/ExternalInterface.as b/frameworks/projects/MXRoyale/src/main/royale/mx/external/ExternalInterface.as index e27e64f..7899ca8 100644 --- a/frameworks/projects/MXRoyale/src/main/royale/mx/external/ExternalInterface.as +++ b/frameworks/projects/MXRoyale/src/main/royale/mx/external/ExternalInterface.as @@ -168,7 +168,20 @@ package mx.external COMPILE::JS { // find a function with the name... - var fnc : Function = window[functionName]; + var fnc : Function; + if (functionName) { + var base:Object = window; + var dotIdx:int = functionName.indexOf('.'); + if (dotIdx != -1) { + while(dotIdx != -1) { + base = base[functionName.substr(0, dotIdx)]; + functionName = functionName.substr(dotIdx + 1); + dotIdx = functionName.indexOf('.'); + } + } + fnc = base[functionName]; + } + if (fnc) { return fnc.apply(null, args);
