From b1fa0a1df0a18f34e4365ab0accdc6dadc3bf7ac Mon Sep 17 00:00:00 2001 From: dragonmacher <48328597+dragonmacher@users.noreply.github.com> Date: Thu, 17 Nov 2022 09:05:55 -0500 Subject: [PATCH] Fixed an exception when trying to open 2 tools with the same project --- .../main/java/ghidra/framework/plugintool/PluginTool.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Ghidra/Framework/Project/src/main/java/ghidra/framework/plugintool/PluginTool.java b/Ghidra/Framework/Project/src/main/java/ghidra/framework/plugintool/PluginTool.java index 07fe6bc906..09d616f7a8 100644 --- a/Ghidra/Framework/Project/src/main/java/ghidra/framework/plugintool/PluginTool.java +++ b/Ghidra/Framework/Project/src/main/java/ghidra/framework/plugintool/PluginTool.java @@ -160,7 +160,8 @@ public abstract class PluginTool extends AbstractDockingTool { String name, boolean isDockable, boolean hasStatus, boolean isModal) { this.project = project; this.projectManager = projectManager; - this.toolServices = toolServices; + this.toolServices = toolServices == null ? new ToolServicesAdapter() : toolServices; + propertyChangeMgr = new PropertyChangeSupport(this); optionsMgr = new OptionsManager(this); winMgr = createDockingWindowManager(isDockable, hasStatus, isModal); @@ -1317,6 +1318,9 @@ public abstract class PluginTool extends AbstractDockingTool { if (project != null) { toolServices = project.getToolServices(); } + else { + toolServices = new ToolServicesAdapter(); + } } protected void restorePluginsFromXml(Element elem) throws PluginException {