diff --git a/Ghidra/Configurations/Public_Release/src/main/resources/defaultTools/CodeBrowser.tool b/Ghidra/Configurations/Public_Release/src/main/resources/defaultTools/CodeBrowser.tool index 559279c039..ffcede31e1 100644 --- a/Ghidra/Configurations/Public_Release/src/main/resources/defaultTools/CodeBrowser.tool +++ b/Ghidra/Configurations/Public_Release/src/main/resources/defaultTools/CodeBrowser.tool @@ -34,7 +34,7 @@ - + diff --git a/Ghidra/Features/Base/src/test/resources/defaultTools/TestCodeBrowser.tool b/Ghidra/Features/Base/src/test/resources/defaultTools/TestCodeBrowser.tool index ece29faf92..1c0956fa0d 100644 --- a/Ghidra/Features/Base/src/test/resources/defaultTools/TestCodeBrowser.tool +++ b/Ghidra/Features/Base/src/test/resources/defaultTools/TestCodeBrowser.tool @@ -31,7 +31,7 @@ - + @@ -43,9 +43,6 @@ - - - diff --git a/Ghidra/Features/VersionTracking/src/main/resources/Version Tracking (DESTINATION TOOL).tool b/Ghidra/Features/VersionTracking/src/main/resources/Version Tracking (DESTINATION TOOL).tool index 1430f66a81..127a0cfae3 100644 --- a/Ghidra/Features/VersionTracking/src/main/resources/Version Tracking (DESTINATION TOOL).tool +++ b/Ghidra/Features/VersionTracking/src/main/resources/Version Tracking (DESTINATION TOOL).tool @@ -34,11 +34,7 @@ - - - - - + diff --git a/Ghidra/Features/VersionTracking/src/main/resources/Version Tracking (SOURCE TOOL).tool b/Ghidra/Features/VersionTracking/src/main/resources/Version Tracking (SOURCE TOOL).tool index 93b45c3ee0..3d7385fbdf 100644 --- a/Ghidra/Features/VersionTracking/src/main/resources/Version Tracking (SOURCE TOOL).tool +++ b/Ghidra/Features/VersionTracking/src/main/resources/Version Tracking (SOURCE TOOL).tool @@ -34,11 +34,7 @@ - - - - - + diff --git a/Ghidra/Framework/Docking/src/main/java/docking/ComponentNode.java b/Ghidra/Framework/Docking/src/main/java/docking/ComponentNode.java index f285aae562..b26fd303f3 100644 --- a/Ghidra/Framework/Docking/src/main/java/docking/ComponentNode.java +++ b/Ghidra/Framework/Docking/src/main/java/docking/ComponentNode.java @@ -35,6 +35,10 @@ import ghidra.util.SystemUtilities; * is active, then this node will create a tabbedPane object to contain the active components. */ class ComponentNode extends Node { + + private static final String OLD_LISTING_NAME = "CodeBrowserPlugin"; + private static final String NEW_LISTING_NAME = "Listing"; + private ComponentPlaceholder top; private List windowPlaceholders; private JComponent comp; @@ -69,6 +73,7 @@ class ComponentNode extends Node { * @param elem the xml element describing the configuration of this node. * @param mgr the docking windows manager * @param parent the parent node for this node. + * @param restoredPlaceholders the list into which any restored placeholders will be placed */ ComponentNode(Element elem, DockingWindowManager mgr, Node parent, List restoredPlaceholders) { @@ -90,13 +95,10 @@ class ComponentNode extends Node { group = ComponentProvider.DEFAULT_WINDOW_GROUP; } - // SCR #4120 - Ignore old, buggy child nodes that had too long titles. This - // will cleanup slow loading XML project files. - if (name.length() > 100) { - name = name.substring(0, 100); - } - if (title.length() > 100) { - title = title.substring(0, 100); + // TODO remove this in a few major releases after 9.1; this prevents existing tools + // from losing layout positioning information due to a recent rename + if (OLD_LISTING_NAME.equals(name)) { + name = NEW_LISTING_NAME; } boolean isActive = Boolean.valueOf(e.getAttributeValue("ACTIVE")).booleanValue(); @@ -232,9 +234,6 @@ class ComponentNode extends Node { } } - /** - * Returns the number of ComponentWindowingPlaceholder objects being managed by this node. - */ int getComponentCount() { return windowPlaceholders.size(); } diff --git a/Ghidra/Processors/JVM/src/main/java/ghidra/javaclass/format/JavaClassUtil.java b/Ghidra/Processors/JVM/src/main/java/ghidra/javaclass/format/JavaClassUtil.java index fc7070d398..36e99207b1 100644 --- a/Ghidra/Processors/JVM/src/main/java/ghidra/javaclass/format/JavaClassUtil.java +++ b/Ghidra/Processors/JVM/src/main/java/ghidra/javaclass/format/JavaClassUtil.java @@ -30,14 +30,17 @@ public class JavaClassUtil { public final static boolean isClassFile(Program program) { + AddressFactory factory = program.getAddressFactory(); byte[] bytes = new byte[4]; try { - Address address = program.getAddressFactory().getAddressSpace( - JavaLoader.CONSTANT_POOL).getMinAddress(); - program.getMemory().getBytes(address, bytes); + AddressSpace space = factory.getAddressSpace(JavaLoader.CONSTANT_POOL); + if (space != null) { + Address address = space.getMinAddress(); + program.getMemory().getBytes(address, bytes); + } } catch (Exception e) { - Msg.info(JavaClassUtil.class, e.getLocalizedMessage()); + Msg.error(JavaClassUtil.class, "Exception reading program bytes: " + e.getMessage(), e); return false; } return Arrays.equals(bytes, JavaClassConstants.MAGIC_BYTES);