From b08da995742b6eace8a460071209953a5ef2519e Mon Sep 17 00:00:00 2001 From: gegy1000 Date: Sun, 12 May 2019 11:43:57 +0200 Subject: Resolve root when navigating to declaration --- src/main/java/cuchaz/enigma/gui/Gui.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/main') diff --git a/src/main/java/cuchaz/enigma/gui/Gui.java b/src/main/java/cuchaz/enigma/gui/Gui.java index 304b779..a61f4dd 100644 --- a/src/main/java/cuchaz/enigma/gui/Gui.java +++ b/src/main/java/cuchaz/enigma/gui/Gui.java @@ -32,6 +32,8 @@ import cuchaz.enigma.gui.panels.PanelObf; import cuchaz.enigma.gui.util.History; import cuchaz.enigma.throwables.IllegalNameException; import cuchaz.enigma.translation.mapping.AccessModifier; +import cuchaz.enigma.translation.mapping.EntryResolver; +import cuchaz.enigma.translation.mapping.ResolutionStrategy; import cuchaz.enigma.translation.representation.entry.*; import cuchaz.enigma.utils.Utils; import de.sciss.syntaxpane.DefaultSyntaxKit; @@ -535,7 +537,12 @@ public class Gui { if (referenceEntry != null && shouldNavigateOnClick) { shouldNavigateOnClick = false; - this.controller.navigateTo(referenceEntry); + Entry navigationEntry = referenceEntry; + if (cursorReference.context == null) { + EntryResolver resolver = controller.getDeobfuscator().getMapper().getObfResolver(); + navigationEntry = resolver.resolveFirstEntry(referenceEntry, ResolutionStrategy.RESOLVE_ROOT); + } + controller.navigateTo(navigationEntry); return; } -- cgit v1.2.3