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); }