mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2026-07-30 07:18:37 -09:00
GP-1 Minor fixes back-ported from GP-6779: project in-use tracking, data
type archive address factory
This commit is contained in:
@@ -1263,11 +1263,9 @@ public class DefaultProjectData implements ProjectData {
|
||||
@Override
|
||||
public void close() {
|
||||
synchronized (this) {
|
||||
if (!closed) {
|
||||
closed = true;
|
||||
}
|
||||
closed = true;
|
||||
if (inUseCount != 0) {
|
||||
return; // delay dispose
|
||||
return; // delay dispose while still in-use
|
||||
}
|
||||
}
|
||||
dispose();
|
||||
|
||||
@@ -656,6 +656,13 @@ public class GhidraFileData {
|
||||
DomainFileProxy proxy = new DomainFileProxy(name, parent.getPathname(), doa,
|
||||
DomainFile.DEFAULT_VERSION, fileID, parent.getProjectLocator());
|
||||
proxy.setLastModified(getLastModifiedTime());
|
||||
|
||||
// Notify file manager of in-use domain object.
|
||||
// A link-file object is indirect with tracking intiated by the URL-referenced file.
|
||||
if (!isLink()) {
|
||||
projectData.trackDomainFileInUse(doa);
|
||||
}
|
||||
|
||||
return doa;
|
||||
}
|
||||
myFolderItem = folderItem;
|
||||
|
||||
@@ -437,6 +437,8 @@ public class StandAloneDataTypeManager extends DataTypeManagerDB implements Clos
|
||||
|
||||
final Language lang = language;
|
||||
final CompilerSpec cspec = compilerSpec;
|
||||
|
||||
// Use ProgramAddressFactory to provide stack space
|
||||
final AddressFactory addrFactory = new ProgramAddressFactory(lang, cspec, s -> null);
|
||||
|
||||
super.setProgramArchitecture(new ProgramArchitecture() {
|
||||
@@ -733,6 +735,10 @@ public class StandAloneDataTypeManager extends DataTypeManagerDB implements Clos
|
||||
}
|
||||
}
|
||||
|
||||
// Use ProgramAddressFactory to provide stack space
|
||||
final AddressFactory addrFactory =
|
||||
new ProgramAddressFactory(language, compilerSpec, s -> null);
|
||||
|
||||
ProgramArchitecture programArchitecture = new ProgramArchitecture() {
|
||||
|
||||
@Override
|
||||
@@ -747,7 +753,7 @@ public class StandAloneDataTypeManager extends DataTypeManagerDB implements Clos
|
||||
|
||||
@Override
|
||||
public AddressFactory getAddressFactory() {
|
||||
return language.getAddressFactory();
|
||||
return addrFactory;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user