You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by yi...@apache.org on 2022/04/14 09:01:53 UTC
[royale-asjs] branch develop updated: popUpHost was not always identical for event listeners and dispatchers, so better use topMostEventHandler instead
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 <yi...@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 {