From a74032da872cb923f9a8d0a9481c7052998484a2 Mon Sep 17 00:00:00 2001 From: Joe Date: Wed, 17 Sep 2025 10:55:13 +0100 Subject: Fix NPE in obf classes --- enigma/src/main/java/cuchaz/enigma/EnigmaProject.java | 7 ++++--- .../src/main/java/cuchaz/enigma/translation/mapping/EntryUtil.java | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/enigma/src/main/java/cuchaz/enigma/EnigmaProject.java b/enigma/src/main/java/cuchaz/enigma/EnigmaProject.java index 94955655..8ec6cafb 100644 --- a/enigma/src/main/java/cuchaz/enigma/EnigmaProject.java +++ b/enigma/src/main/java/cuchaz/enigma/EnigmaProject.java @@ -389,15 +389,16 @@ public class EnigmaProject implements ProjectView { } } - public void onEntryChange(EntryMapping prevMapping, EntryChange change) { + public void onEntryChange(Entry entry, EntryMapping prevMapping, EntryChange change) { if (inverseTranslator == null || change.getDeobfName().isUnchanged()) { return; } - String newName = change.getDeobfName().isSet() ? change.getDeobfName().getNewValue() : proposingTranslator.extendedTranslate(change.getTarget()).getValue().getName(); + String oldName = Objects.requireNonNullElse(prevMapping.targetName(), entry.getName()); + String newName = change.getDeobfName().isSet() ? change.getDeobfName().getNewValue() : entry.getName(); for (Entry equivalentEntry : mapper.getObfResolver().resolveEquivalentEntries(change.getTarget())) { - inverseTranslator.refreshName(equivalentEntry, prevMapping.targetName(), newName); + inverseTranslator.refreshName(equivalentEntry, oldName, newName); } } diff --git a/enigma/src/main/java/cuchaz/enigma/translation/mapping/EntryUtil.java b/enigma/src/main/java/cuchaz/enigma/translation/mapping/EntryUtil.java index 9e6641be..b6119cac 100644 --- a/enigma/src/main/java/cuchaz/enigma/translation/mapping/EntryUtil.java +++ b/enigma/src/main/java/cuchaz/enigma/translation/mapping/EntryUtil.java @@ -15,7 +15,7 @@ public class EntryUtil { if (remapper.putMapping(vc, target, mapping)) { if (project != null) { - project.onEntryChange(prev, change); + project.onEntryChange(target, prev, change); } } -- cgit v1.2.3