mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-04 18:29:37 +02:00
GT-3222 - Fixed bugs in Data Type navigation that caused failure after
opening and archive for edit
This commit is contained in:
parent
591ed4de31
commit
0b532431cd
9 changed files with 172 additions and 176 deletions
|
@ -31,8 +31,8 @@ import ghidra.util.task.TaskMonitorAdapter;
|
|||
* DataTypeManager for a file. Can import categories from a file, or export
|
||||
* categories to a packed database.
|
||||
*/
|
||||
public class FileDataTypeManager extends StandAloneDataTypeManager implements
|
||||
FileArchiveBasedDataTypeManager {
|
||||
public class FileDataTypeManager extends StandAloneDataTypeManager
|
||||
implements FileArchiveBasedDataTypeManager {
|
||||
|
||||
public final static String EXTENSION = "gdt"; // Ghidra Data Types
|
||||
/**
|
||||
|
@ -108,16 +108,15 @@ public class FileDataTypeManager extends StandAloneDataTypeManager implements
|
|||
* @param outputFilename filename for output
|
||||
* @param databaseId new databaseId
|
||||
*/
|
||||
public void saveAs(File saveFile, UniversalID newUniversalId) throws DuplicateFileException,
|
||||
IOException {
|
||||
public void saveAs(File saveFile, UniversalID newUniversalId)
|
||||
throws DuplicateFileException, IOException {
|
||||
ResourceFile resourceSaveFile = new ResourceFile(saveFile);
|
||||
// TODO: this should really be a package method and not public!
|
||||
validateFilename(resourceSaveFile);
|
||||
try {
|
||||
universalID = newUniversalId;
|
||||
packedDB =
|
||||
((PackedDBHandle) dbHandle).saveAs("DTArchive", saveFile.getParentFile(),
|
||||
saveFile.getName(), newUniversalId.getValue(), TaskMonitorAdapter.DUMMY_MONITOR);
|
||||
packedDB = ((PackedDBHandle) dbHandle).saveAs("DTArchive", saveFile.getParentFile(),
|
||||
saveFile.getName(), newUniversalId.getValue(), TaskMonitorAdapter.DUMMY_MONITOR);
|
||||
file = resourceSaveFile;
|
||||
updateRootCategoryName(resourceSaveFile, getRootCategory());
|
||||
}
|
||||
|
@ -134,9 +133,8 @@ public class FileDataTypeManager extends StandAloneDataTypeManager implements
|
|||
ResourceFile resourceSaveFile = new ResourceFile(saveFile);
|
||||
validateFilename(resourceSaveFile);
|
||||
try {
|
||||
packedDB =
|
||||
((PackedDBHandle) dbHandle).saveAs("DTArchive", saveFile.getParentFile(),
|
||||
saveFile.getName(), TaskMonitorAdapter.DUMMY_MONITOR);
|
||||
packedDB = ((PackedDBHandle) dbHandle).saveAs("DTArchive", saveFile.getParentFile(),
|
||||
saveFile.getName(), TaskMonitorAdapter.DUMMY_MONITOR);
|
||||
file = resourceSaveFile;
|
||||
updateRootCategoryName(resourceSaveFile, getRootCategory());
|
||||
}
|
||||
|
@ -268,4 +266,8 @@ public class FileDataTypeManager extends StandAloneDataTypeManager implements
|
|||
return ArchiveType.FILE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return getClass().getSimpleName() + " - " + getName();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue