diff options
| author | 2016-09-01 18:55:06 +0200 | |
|---|---|---|
| committer | 2016-09-01 18:55:06 +0200 | |
| commit | 3e2bb9b2b5e4c6e0e7ea62f4921d2e317c07034e (patch) | |
| tree | 2ca71a8a213cdcb61b610aaaa4daa4b0e336b103 | |
| parent | Converter: fix inheritance issue with matcher system (diff) | |
| download | enigma-3e2bb9b2b5e4c6e0e7ea62f4921d2e317c07034e.tar.gz enigma-3e2bb9b2b5e4c6e0e7ea62f4921d2e317c07034e.tar.xz enigma-3e2bb9b2b5e4c6e0e7ea62f4921d2e317c07034e.zip | |
Fix for the last commit
3 files changed, 10 insertions, 4 deletions
diff --git a/src/main/java/cuchaz/enigma/convert/MappingsConverter.java b/src/main/java/cuchaz/enigma/convert/MappingsConverter.java index 4b4bb812..abb1bea0 100644 --- a/src/main/java/cuchaz/enigma/convert/MappingsConverter.java +++ b/src/main/java/cuchaz/enigma/convert/MappingsConverter.java | |||
| @@ -436,7 +436,7 @@ public class MappingsConverter { | |||
| 436 | memberMatches.makeMatch(obfSourceEntry, obfDestEntries.iterator().next()); | 436 | memberMatches.makeMatch(obfSourceEntry, obfDestEntries.iterator().next()); |
| 437 | } else if (obfDestEntries.isEmpty()) { | 437 | } else if (obfDestEntries.isEmpty()) { |
| 438 | // no match is possible =( | 438 | // no match is possible =( |
| 439 | memberMatches.makeSourceUnmatchable(obfSourceEntry); | 439 | memberMatches.makeSourceUnmatchable(obfSourceEntry, null); |
| 440 | } | 440 | } |
| 441 | } | 441 | } |
| 442 | } | 442 | } |
diff --git a/src/main/java/cuchaz/enigma/convert/MemberMatches.java b/src/main/java/cuchaz/enigma/convert/MemberMatches.java index e0888d54..97b47b2a 100644 --- a/src/main/java/cuchaz/enigma/convert/MemberMatches.java +++ b/src/main/java/cuchaz/enigma/convert/MemberMatches.java | |||
| @@ -150,7 +150,7 @@ public class MemberMatches<T extends Entry> { | |||
| 150 | { | 150 | { |
| 151 | if (sourceDeobfuscator != null && destDeobfuscator != null) | 151 | if (sourceDeobfuscator != null && destDeobfuscator != null) |
| 152 | { | 152 | { |
| 153 | makeMatch(sourceEntry, destEntry); | 153 | unmakeMatch(sourceEntry, destEntry, null, null); |
| 154 | sourceEntry = (T) sourceEntry.cloneToNewClass( | 154 | sourceEntry = (T) sourceEntry.cloneToNewClass( |
| 155 | sourceDeobfuscator.getJarIndex().getTranslationIndex().resolveEntryClass(sourceEntry, true)); | 155 | sourceDeobfuscator.getJarIndex().getTranslationIndex().resolveEntryClass(sourceEntry, true)); |
| 156 | destEntry = (T) destEntry.cloneToNewClass( | 156 | destEntry = (T) destEntry.cloneToNewClass( |
| @@ -165,7 +165,13 @@ public class MemberMatches<T extends Entry> { | |||
| 165 | addUnmatchedDestEntry(destEntry); | 165 | addUnmatchedDestEntry(destEntry); |
| 166 | } | 166 | } |
| 167 | 167 | ||
| 168 | public void makeSourceUnmatchable(T sourceEntry) { | 168 | public void makeSourceUnmatchable(T sourceEntry, Deobfuscator sourceDeobfuscator) { |
| 169 | if (sourceDeobfuscator != null) | ||
| 170 | { | ||
| 171 | makeSourceUnmatchable(sourceEntry, null); | ||
| 172 | sourceEntry = (T) sourceEntry.cloneToNewClass( | ||
| 173 | sourceDeobfuscator.getJarIndex().getTranslationIndex().resolveEntryClass(sourceEntry, true)); | ||
| 174 | } | ||
| 169 | assert (!isMatchedSourceEntry(sourceEntry)); | 175 | assert (!isMatchedSourceEntry(sourceEntry)); |
| 170 | boolean wasRemoved = m_unmatchedSourceEntries.remove(sourceEntry.getClassEntry(), sourceEntry); | 176 | boolean wasRemoved = m_unmatchedSourceEntries.remove(sourceEntry.getClassEntry(), sourceEntry); |
| 171 | assert (wasRemoved); | 177 | assert (wasRemoved); |
diff --git a/src/main/java/cuchaz/enigma/gui/MemberMatchingGui.java b/src/main/java/cuchaz/enigma/gui/MemberMatchingGui.java index 8f7d6e3c..9e90dae4 100644 --- a/src/main/java/cuchaz/enigma/gui/MemberMatchingGui.java +++ b/src/main/java/cuchaz/enigma/gui/MemberMatchingGui.java | |||
| @@ -465,7 +465,7 @@ public class MemberMatchingGui<T extends Entry> { | |||
| 465 | protected void unmatchable() { | 465 | protected void unmatchable() { |
| 466 | 466 | ||
| 467 | // update the field matches | 467 | // update the field matches |
| 468 | m_memberMatches.makeSourceUnmatchable(m_obfSourceEntry); | 468 | m_memberMatches.makeSourceUnmatchable(m_obfSourceEntry, m_sourceDeobfuscator); |
| 469 | save(); | 469 | save(); |
| 470 | 470 | ||
| 471 | // update the ui | 471 | // update the ui |