From 2561076c5abeee0a60f3a2a65a8ecb7832a6a62a Mon Sep 17 00:00:00 2001 From: Ian Harrigan <ianharrigan@hotmail.com> Date: Thu, 11 Jan 2024 15:15:44 +0100 Subject: [PATCH] remove any screen events when menu is disposed --- haxe/ui/containers/menus/Menu.hx | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/haxe/ui/containers/menus/Menu.hx b/haxe/ui/containers/menus/Menu.hx index 21e2ec104..e4a7af3bb 100644 --- a/haxe/ui/containers/menus/Menu.hx +++ b/haxe/ui/containers/menus/Menu.hx @@ -102,6 +102,10 @@ class MenuEvents extends haxe.ui.events.Events { unregisterEvent(UIEvent.SHOWN, onShown); } + public override function onDispose() { + removeScreenMouseDown(); + } + private var _over:Bool = false; private function onMouseOver(event:MouseEvent) { _over = true; @@ -232,6 +236,10 @@ class MenuEvents extends haxe.ui.events.Events { return; } + if (currentSubMenu._isDisposed) { // sub menu could have already been disposed of + return; + } + for (child in currentSubMenu.childComponents) { child.removeClass(":hover", true, true); }