From 01ec7a3225d612b183045cf941f2bcb6d8855eb5 Mon Sep 17 00:00:00 2001 From: dragonmacher <48328597+dragonmacher@users.noreply.github.com> Date: Thu, 27 Oct 2022 16:49:52 -0400 Subject: [PATCH] GP-2768, 2769 - Fixed duplicate drop-down menus; fixed stack trace when no drop-down menu was visible --- .../src/main/java/docking/DockableToolBarManager.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Ghidra/Framework/Docking/src/main/java/docking/DockableToolBarManager.java b/Ghidra/Framework/Docking/src/main/java/docking/DockableToolBarManager.java index 93cd15a61f..82e8c35169 100644 --- a/Ghidra/Framework/Docking/src/main/java/docking/DockableToolBarManager.java +++ b/Ghidra/Framework/Docking/src/main/java/docking/DockableToolBarManager.java @@ -173,6 +173,7 @@ class DockableToolBarManager { Tool tool = dwm.getTool(); ComponentProvider provider = dockableComponent.getComponentProvider(); tool.removeLocalAction(provider, closeButtonManager.getAction()); + tool.removeLocalAction(provider, menuButtonManager.getAction()); } headerUpdater.dispose(); @@ -253,5 +254,14 @@ class DockableToolBarManager { popupMenu.addPopupMenuListener(menuManager.getMenuHandler()); popupMenu.show(myButton, 0, d.height); } + + @Override + public boolean isEnabledForContext(ActionContext context) { + if (myButton == null) { + return false; // no menu items; no drop-down menu + } + ComponentProvider provider = context.getComponentProvider(); + return provider == dockableComponent.getComponentProvider(); + } } }