From a7b5738df6d37c7953af8871e24531dd228d43e6 Mon Sep 17 00:00:00 2001 From: dragonmacher <48328597+dragonmacher@users.noreply.github.com> Date: Thu, 4 Aug 2022 12:36:58 -0400 Subject: [PATCH] GP-2409 - Fixed help window not showing when missing help --- .../src/main/java/docking/help/HelpManager.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/Ghidra/Framework/Docking/src/main/java/docking/help/HelpManager.java b/Ghidra/Framework/Docking/src/main/java/docking/help/HelpManager.java index fb4a5f78e0..55e64a85e9 100644 --- a/Ghidra/Framework/Docking/src/main/java/docking/help/HelpManager.java +++ b/Ghidra/Framework/Docking/src/main/java/docking/help/HelpManager.java @@ -142,6 +142,12 @@ public class HelpManager implements HelpService { @Override public void registerHelp(Object helpObject, HelpLocation location) { + if (helpObject == null) { + Throwable t = ReflectionUtilities.createJavaFilteredThrowable(); + Msg.debug(this, "Incorrect use of registerHelp() - 'helpObject' cannot be null\n", t); + return; + } + if (location == null) { Throwable t = ReflectionUtilities.createJavaFilteredThrowable(); Msg.debug(this, "Deprecated use of registerHelp() - use excludeFromHelp()\n", t); @@ -234,7 +240,7 @@ public class HelpManager implements HelpService { private void showHelpLocation(HelpLocation loc, Window window) { if (loc == null) { - displayHelp(mainHS.getHomeID(), window); // show the default help page + showDefaultHelpPage(window); return; } @@ -246,7 +252,7 @@ public class HelpManager implements HelpService { String helpId = loc.getHelpId(); if (helpId == null) { - displayHelp(mainHS.getHomeID(), window); // show the default help page + showDefaultHelpPage(window); return; } @@ -256,9 +262,14 @@ public class HelpManager implements HelpService { catch (BadIDException e) { Msg.info(this, "Could not find help for ID: \"" + helpId + "\" from HelpLocation: " + loc); + displayHelp(HELP_NOT_FOUND_PAGE_URL, window); } } + private void showDefaultHelpPage(Window w) { + displayHelp(mainHS.getHomeID(), w); + } + private Window getBestParent(Component c) { if (c == null) { @@ -548,7 +559,7 @@ public class HelpManager implements HelpService { return; } - mainHB.setCurrentURL(validateUrl(helpUrl)); + mainHB.setCurrentURL(helpUrl); } /** This forces page to be redisplayed when location has not changed */