summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joe2025-09-17 10:55:13 +0100
committerGravatar Player2025-09-17 08:59:56 -0400
commita74032da872cb923f9a8d0a9481c7052998484a2 (patch)
tree2f774a4563d82b12889bd76c661257ca80aec37c
parentBump version (diff)
downloadenigma-a74032da872cb923f9a8d0a9481c7052998484a2.tar.gz
enigma-a74032da872cb923f9a8d0a9481c7052998484a2.tar.xz
enigma-a74032da872cb923f9a8d0a9481c7052998484a2.zip
Fix NPE in obf classes
-rw-r--r--enigma/src/main/java/cuchaz/enigma/EnigmaProject.java7
-rw-r--r--enigma/src/main/java/cuchaz/enigma/translation/mapping/EntryUtil.java2
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 {
389 } 389 }
390 } 390 }
391 391
392 public void onEntryChange(EntryMapping prevMapping, EntryChange<?> change) { 392 public void onEntryChange(Entry<?> entry, EntryMapping prevMapping, EntryChange<?> change) {
393 if (inverseTranslator == null || change.getDeobfName().isUnchanged()) { 393 if (inverseTranslator == null || change.getDeobfName().isUnchanged()) {
394 return; 394 return;
395 } 395 }
396 396
397 String newName = change.getDeobfName().isSet() ? change.getDeobfName().getNewValue() : proposingTranslator.extendedTranslate(change.getTarget()).getValue().getName(); 397 String oldName = Objects.requireNonNullElse(prevMapping.targetName(), entry.getName());
398 String newName = change.getDeobfName().isSet() ? change.getDeobfName().getNewValue() : entry.getName();
398 399
399 for (Entry<?> equivalentEntry : mapper.getObfResolver().resolveEquivalentEntries(change.getTarget())) { 400 for (Entry<?> equivalentEntry : mapper.getObfResolver().resolveEquivalentEntries(change.getTarget())) {
400 inverseTranslator.refreshName(equivalentEntry, prevMapping.targetName(), newName); 401 inverseTranslator.refreshName(equivalentEntry, oldName, newName);
401 } 402 }
402 } 403 }
403 404
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 {
15 15
16 if (remapper.putMapping(vc, target, mapping)) { 16 if (remapper.putMapping(vc, target, mapping)) {
17 if (project != null) { 17 if (project != null) {
18 project.onEntryChange(prev, change); 18 project.onEntryChange(target, prev, change);
19 } 19 }
20 } 20 }
21 21