diff --git a/Ghidra/Framework/Project/src/main/java/ghidra/framework/protocol/ghidra/DefaultLocalGhidraProtocolConnector.java b/Ghidra/Framework/Project/src/main/java/ghidra/framework/protocol/ghidra/DefaultLocalGhidraProtocolConnector.java index 26c7c1461b..bc5f9c3153 100644 --- a/Ghidra/Framework/Project/src/main/java/ghidra/framework/protocol/ghidra/DefaultLocalGhidraProtocolConnector.java +++ b/Ghidra/Framework/Project/src/main/java/ghidra/framework/protocol/ghidra/DefaultLocalGhidraProtocolConnector.java @@ -22,7 +22,8 @@ import java.net.URL; import ghidra.framework.client.NotConnectedException; import ghidra.framework.client.RepositoryAdapter; import ghidra.framework.data.DefaultProjectData; -import ghidra.framework.model.ProjectLocator; +import ghidra.framework.main.AppInfo; +import ghidra.framework.model.*; import ghidra.framework.protocol.ghidra.GhidraURLConnection.StatusCode; import ghidra.framework.store.LockException; import ghidra.util.NotOwnerException; @@ -132,6 +133,16 @@ public class DefaultLocalGhidraProtocolConnector extends GhidraProtocolConnector return null; } + // Use active project if it matches project locator + Project activeProject = AppInfo.getActiveProject(); + if (activeProject != null && + localStorageLocator.equals(activeProject.getProjectLocator())) { + ProjectData activeProjectData = activeProject.getProjectData(); + if (activeProjectData instanceof DefaultProjectData projectData) { + return projectData; + } + } + try { return new DefaultProjectData(localStorageLocator, !readOnlyAccess, false); }