This is an automated email from the ASF dual-hosted git repository. yishayw 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 fc95069991 popUpHost was not always identical for event listeners and dispatchers, so better use topMostEventHandler instead fc95069991 is described below commit fc950699915d06f38153fa265cce2d7768ef3cc5 Author: Yishay Weiss <yishayj...@hotmail.com> AuthorDate: Thu Apr 14 12:00:23 2022 +0300 popUpHost was not always identical for event listeners and dispatchers, so better use topMostEventHandler instead --- .../projects/Basic/src/main/royale/org/apache/royale/html/Menu.as | 3 +-- .../apache/royale/html/beads/controllers/MenuBarMouseController.as | 3 +-- .../royale/html/beads/controllers/MenuSelectionMouseController.as | 4 ++-- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/Menu.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/Menu.as index 61fea69665..d396a9f132 100644 --- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/Menu.as +++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/Menu.as @@ -167,8 +167,7 @@ package org.apache.royale.html public function hide():void { // dispatch the "hideMenus" event to trigger any exposed menu to be hidden. - var host:IParent = UIUtils.findPopUpHost(this).popUpParent as IParent; - (host as IEventDispatcher).dispatchEvent(new Event("hideMenus")); + topMostEventDispatcher.dispatchEvent(new Event("hideMenus")); } } } \ No newline at end of file diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/controllers/MenuBarMouseController.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/controllers/MenuBarMouseController.as index 78672b8619..d1f305f9d2 100644 --- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/controllers/MenuBarMouseController.as +++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/controllers/MenuBarMouseController.as @@ -112,8 +112,7 @@ package org.apache.royale.html.beads.controllers override protected function selectedHandler(event:ItemClickedEvent):void { // close any previously open menus - var host:UIBase = UIUtils.findPopUpHost(_strand as IUIBase) as UIBase; - sendEvent(host,"hideMenus"); + sendEvent((_strand as UIBase).topMostEventDispatcher,"hideMenus"); var component:IUIBase = event.target as IUIBase; diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/controllers/MenuSelectionMouseController.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/controllers/MenuSelectionMouseController.as index 5b1672c69c..e85b4bd6a8 100644 --- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/controllers/MenuSelectionMouseController.as +++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/controllers/MenuSelectionMouseController.as @@ -189,7 +189,7 @@ package org.apache.royale.html.beads.controllers { MenuModel.removeMenu(menu); - var host:IEventDispatcher = UIUtils.findPopUpHost(menu as IUIBase) as IEventDispatcher; + var host:IEventDispatcher = (menu as IUIBase).topMostEventDispatcher; host.removeEventListener("hideMenus", handleHideMenus); COMPILE::SWF { @@ -203,7 +203,7 @@ package org.apache.royale.html.beads.controllers protected function addClickOutHandler(menu:Object):void { // detect an up event on the background as a way to dismiss this menu - var host:IEventDispatcher = UIUtils.findPopUpHost(_strand as IUIBase) as IEventDispatcher; + var host:IEventDispatcher = (_strand as IUIBase).topMostEventDispatcher; host.addEventListener("hideMenus", handleHideMenus); COMPILE::SWF {