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 {

Reply via email to