diff --git a/Ghidra/Features/Base/src/main/help/help/TOC_Source.xml b/Ghidra/Features/Base/src/main/help/help/TOC_Source.xml index 822cdadb25..b7d1d90c6d 100644 --- a/Ghidra/Features/Base/src/main/help/help/TOC_Source.xml +++ b/Ghidra/Features/Base/src/main/help/help/TOC_Source.xml @@ -157,8 +157,9 @@ - - + + + diff --git a/Ghidra/Features/ProgramGraph/src/main/help/help/TOC_Source.xml b/Ghidra/Features/ProgramGraph/src/main/help/help/TOC_Source.xml index 7c0e646201..344242b0f7 100644 --- a/Ghidra/Features/ProgramGraph/src/main/help/help/TOC_Source.xml +++ b/Ghidra/Features/ProgramGraph/src/main/help/help/TOC_Source.xml @@ -51,7 +51,7 @@ - + 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 86898f8bc8..99e3100b7c 100644 --- a/Ghidra/Framework/Docking/src/main/java/docking/help/HelpManager.java +++ b/Ghidra/Framework/Docking/src/main/java/docking/help/HelpManager.java @@ -523,20 +523,28 @@ public class HelpManager implements HelpService { public Map getInvalidHelpLocations(TaskMonitor monitor) throws CancelledException { + Set alreadySeen = new HashSet<>(); Map map = new WeakHashMap<>(); Map helpLocationsCopy = copyHelpLocations(); monitor.initialize(helpLocationsCopy.size()); Set> entries = helpLocationsCopy.entrySet(); for (Entry entry : entries) { - monitor.checkCancelled(); + monitor.increment(); Object helpee = entry.getKey(); HelpLocation location = entry.getValue(); monitor.setMessage("Checking " + helpee); - if (!hasValidHelp(helpee, location)) { - map.put(helpee, location); + if (hasValidHelp(helpee, location)) { + continue; } - monitor.incrementProgress(1); + + String inception = location.getInceptionInformation(); + if (alreadySeen.contains(inception)) { + continue; // don't show repeated errors for same line of code + } + + alreadySeen.add(inception); + map.put(helpee, location); } return map; } diff --git a/Ghidra/Framework/Graph/src/main/help/help/topics/VisualGraph/Visual_Graph.html b/Ghidra/Framework/Graph/src/main/help/help/topics/VisualGraph/Visual_Graph.html index c2356bba25..1f570aa250 100644 --- a/Ghidra/Framework/Graph/src/main/help/help/topics/VisualGraph/Visual_Graph.html +++ b/Ghidra/Framework/Graph/src/main/help/help/topics/VisualGraph/Visual_Graph.html @@ -2,9 +2,6 @@ - - Visual Graphs @@ -15,7 +12,8 @@

Visual Graphs are highly integrated graphs that all share common features and - actions. They typically have both a Primary View and + actions. Various Graph component providers are based upon the Visual Graph API.They typically + have both a Primary View and a Satellite View

diff --git a/Ghidra/Framework/Graph/src/main/java/ghidra/graph/featurette/VgSatelliteFeaturette.java b/Ghidra/Framework/Graph/src/main/java/ghidra/graph/featurette/VgSatelliteFeaturette.java index 3af7078d4b..31cac30c53 100644 --- a/Ghidra/Framework/Graph/src/main/java/ghidra/graph/featurette/VgSatelliteFeaturette.java +++ b/Ghidra/Framework/Graph/src/main/java/ghidra/graph/featurette/VgSatelliteFeaturette.java @@ -288,9 +288,7 @@ public class VgSatelliteFeaturette, G e HelpService helpService = DockingWindowManager.getHelpService(); helpService.registerHelp(button, - new HelpLocation("Visual_Graph", "Satellite_View_Dock")); + new HelpLocation("VisualGraph", "Satellite_View_Dock")); return button; }