diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/nav/Navigatable.java b/Ghidra/Features/Base/src/main/java/ghidra/app/nav/Navigatable.java index cb5734d784..a2fa898406 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/nav/Navigatable.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/nav/Navigatable.java @@ -35,6 +35,7 @@ public interface Navigatable { /** * Commands this navigatable to goto (display) the given program and location + * @param program the program * * @param location the location in that program to display * @return true if the goto was successful diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/util/navigation/GoToServiceImpl.java b/Ghidra/Features/Base/src/main/java/ghidra/app/util/navigation/GoToServiceImpl.java index 897002a98d..3f56cc5e88 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/util/navigation/GoToServiceImpl.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/util/navigation/GoToServiceImpl.java @@ -105,7 +105,7 @@ public class GoToServiceImpl implements GoToService { programLocation = override.goTo(goToAddress); } if (programLocation == null) { - programLocation = helper.getProgramLocationForAddress(goToAddress, program); + programLocation = GoToHelper.getProgramLocationForAddress(goToAddress, program); } else { program = programLocation.getProgram(); @@ -116,7 +116,7 @@ public class GoToServiceImpl implements GoToService { @Override public boolean goTo(Address goToAddress, Program program) { - ProgramLocation location = helper.getProgramLocationForAddress(goToAddress, program); + ProgramLocation location = GoToHelper.getProgramLocationForAddress(goToAddress, program); return helper.goTo(defaultNavigatable, location, program); } diff --git a/Ghidra/Features/Decompiler/src/main/java/ghidra/app/plugin/core/decompile/actions/AbstractDecompilerAction.java b/Ghidra/Features/Decompiler/src/main/java/ghidra/app/plugin/core/decompile/actions/AbstractDecompilerAction.java index 8358fd236c..2edf4ce150 100644 --- a/Ghidra/Features/Decompiler/src/main/java/ghidra/app/plugin/core/decompile/actions/AbstractDecompilerAction.java +++ b/Ghidra/Features/Decompiler/src/main/java/ghidra/app/plugin/core/decompile/actions/AbstractDecompilerAction.java @@ -100,9 +100,6 @@ public abstract class AbstractDecompilerAction extends DockingAction { HighVariable variable = token.getHighVariable(); HighSymbol highSymbol = null; if (variable == null) { - if (highFunction == null) { - return null; - } // Token may be from a variable reference, in which case we have to dig to find the actual symbol Function function = highFunction.getFunction(); if (function == null) { diff --git a/Ghidra/Features/Decompiler/src/test.slow/java/ghidra/app/plugin/core/decompile/DecompilerClangTest.java b/Ghidra/Features/Decompiler/src/test.slow/java/ghidra/app/plugin/core/decompile/DecompilerClangTest.java index 4e84a4518c..d8acb778f7 100644 --- a/Ghidra/Features/Decompiler/src/test.slow/java/ghidra/app/plugin/core/decompile/DecompilerClangTest.java +++ b/Ghidra/Features/Decompiler/src/test.slow/java/ghidra/app/plugin/core/decompile/DecompilerClangTest.java @@ -945,14 +945,14 @@ public class DecompilerClangTest extends AbstractDecompilerTest { private void refresh() { DockingActionIf action = getAction(decompiler, "Refresh"); - performAction(action); + performAction(action, provider.getActionContext(null), true); waitForDecompiler(); } private DecompilerProvider cloneDecompiler() { DockingActionIf action = getAction(decompiler, "Decompile Clone"); - performAction(action); + performAction(action, provider.getActionContext(null), true); waitForSwing(); @SuppressWarnings("unchecked") @@ -1035,7 +1035,7 @@ public class DecompilerClangTest extends AbstractDecompilerTest { private void backwardSlice() { DockingActionIf action = getAction(decompiler, BackwardsSliceAction.NAME); - performAction(action); + performAction(action, provider.getActionContext(null), true); } private void middleMouse() { @@ -1064,7 +1064,7 @@ public class DecompilerClangTest extends AbstractDecompilerTest { private void rename(String newName) { DockingActionIf action = getAction(decompiler, "Rename Variable"); - performAction(action, false); + performAction(action, provider.getActionContext(null), false); InputDialog dialog = waitForDialogComponent(InputDialog.class); runSwing(() -> dialog.setValue(newName)); @@ -1077,7 +1077,7 @@ public class DecompilerClangTest extends AbstractDecompilerTest { DockingActionIf highlightAction = getAction(decompiler, RemoveAllSecondaryHighlightsAction.NAME); - performAction(highlightAction); + performAction(highlightAction, provider.getActionContext(null), true); } private Color highlight() { @@ -1085,7 +1085,7 @@ public class DecompilerClangTest extends AbstractDecompilerTest { ClangToken token = getToken(); DockingActionIf highlightAction = getAction(decompiler, SetSecondaryHighlightAction.NAME); - performAction(highlightAction); + performAction(highlightAction, provider.getActionContext(null), true); HighlightToken ht = getSecondaryHighlight(token); assertNotNull("No highlight for token: " + token, ht); @@ -1106,7 +1106,7 @@ public class DecompilerClangTest extends AbstractDecompilerTest { DockingActionIf highlightAction = getAction(decompiler, SetSecondaryHighlightColorChooserAction.NAME); - performAction(highlightAction, false); + performAction(highlightAction, provider.getActionContext(null), false); Window w = waitForWindow("Please Choose a Color"); GhidraColorChooser colorChooser = findComponent(w, GhidraColorChooser.class); @@ -1238,7 +1238,7 @@ public class DecompilerClangTest extends AbstractDecompilerTest { for (DockingActionIf action : actions) { Object service = getInstanceField("clipboardService", action); if (service.getClass().toString().contains("Decomp")) { - performAction(action); + performAction(action, provider.getActionContext(null), true); return; } } diff --git a/Ghidra/Features/FunctionGraph/src/test/java/ghidra/app/plugin/core/functiongraph/AbstractFunctionGraphTest.java b/Ghidra/Features/FunctionGraph/src/test/java/ghidra/app/plugin/core/functiongraph/AbstractFunctionGraphTest.java index 2ef6e8c676..b39b5aa743 100644 --- a/Ghidra/Features/FunctionGraph/src/test/java/ghidra/app/plugin/core/functiongraph/AbstractFunctionGraphTest.java +++ b/Ghidra/Features/FunctionGraph/src/test/java/ghidra/app/plugin/core/functiongraph/AbstractFunctionGraphTest.java @@ -2166,12 +2166,6 @@ public abstract class AbstractFunctionGraphTest extends AbstractGhidraHeadedInte Double scale = getGraphScale(getPrimaryGraphViewer()); int result = Double.compare(scale, 1.0); assertEquals("Graph not fully zoomed-in; scale: " + scale, 0, result); - - FGVertex v = getFocusedVertex(); - Rectangle cursorBounds = v.getCursorBounds(); - Window graphWindow = windowForComponent(getPrimaryGraphViewer()); - Rectangle windowBounds = graphWindow.getBounds(); - assertTrue(windowBounds.contains(cursorBounds)); } protected void assertZoomedOut() { @@ -2277,7 +2271,7 @@ public abstract class AbstractFunctionGraphTest extends AbstractGhidraHeadedInte protected void goTo(Address address) { GoToService goToService = tool.getService(GoToService.class); - goToService.goTo(address); + runSwing(() -> goToService.goTo(address)); waitForBusyGraph(); } diff --git a/Ghidra/Features/FunctionGraph/src/test/java/ghidra/app/plugin/core/functiongraph/FunctionGraphPlugin1Test.java b/Ghidra/Features/FunctionGraph/src/test/java/ghidra/app/plugin/core/functiongraph/FunctionGraphPlugin1Test.java index 326b4516d7..c30e7044b1 100644 --- a/Ghidra/Features/FunctionGraph/src/test/java/ghidra/app/plugin/core/functiongraph/FunctionGraphPlugin1Test.java +++ b/Ghidra/Features/FunctionGraph/src/test/java/ghidra/app/plugin/core/functiongraph/FunctionGraphPlugin1Test.java @@ -843,7 +843,7 @@ public class FunctionGraphPlugin1Test extends AbstractFunctionGraphTest { private void setNavigationHistoryOption(NavigationHistoryChoices choice) throws Exception { FGController controller = getFunctionGraphController(); FunctionGraphOptions options = controller.getFunctionGraphOptions(); - setInstanceField("navigationHistoryChoice", options, choice); + runSwing(() -> setInstanceField("navigationHistoryChoice", options, choice)); waitForSwing(); } diff --git a/Ghidra/Framework/Docking/src/main/java/docking/widgets/fieldpanel/support/HoverProvider.java b/Ghidra/Framework/Docking/src/main/java/docking/widgets/fieldpanel/support/HoverProvider.java index d8eaed33f9..0108764c49 100644 --- a/Ghidra/Framework/Docking/src/main/java/docking/widgets/fieldpanel/support/HoverProvider.java +++ b/Ghidra/Framework/Docking/src/main/java/docking/widgets/fieldpanel/support/HoverProvider.java @@ -24,6 +24,7 @@ public interface HoverProvider { /** * Returns true if this service's popup window is currently visible + * @return true if this service's popup window is currently visible */ public boolean isShowing();