diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/data/DataTypeManagerDB.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/data/DataTypeManagerDB.java index de02ba55a9..f4e8107d15 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/data/DataTypeManagerDB.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/data/DataTypeManagerDB.java @@ -2883,15 +2883,11 @@ abstract public class DataTypeManagerDB implements DataTypeManager { if (allowsDefaultBuiltInSettings() && builtInDt.getSettingsDefinitions().length != 0) { + // Alter built-in datatype instance to use new DB-backed default settings which + // facilitates user adjustments to the original default settings. DataTypeSettingsDB settings = new DataTypeSettingsDB(this, builtInDt, dataTypeID); - if (builtInDt instanceof TypeDef) { - // Copy default immutable builtin typedef settings - Settings typedefSettings = builtInDt.getDefaultSettings(); - for (String n : typedefSettings.getNames()) { - settings.setValue(n, typedefSettings.getValue(n)); - } - } + settings.setDefaultSettings(builtInDt.getDefaultSettings()); settings.setAllowedSettingPredicate(n -> isBuiltInSettingAllowed(builtInDt, n)); builtInDt.setDefaultSettings(settings); }