From c94d44fe1da87035be1edfd5b5073a6c028ea124 Mon Sep 17 00:00:00 2001 From: dragonmacher <48328597+dragonmacher@users.noreply.github.com> Date: Tue, 15 Jul 2025 16:23:57 -0400 Subject: [PATCH] Fixed missing graph help --- .../Base/src/main/help/help/TOC_Source.xml | 5 +++-- .../src/main/help/help/TOC_Source.xml | 2 +- .../src/main/java/docking/help/HelpManager.java | 16 ++++++++++++---- .../help/topics/VisualGraph/Visual_Graph.html | 6 ++---- .../graph/featurette/VgSatelliteFeaturette.java | 4 +--- .../java/ghidra/graph/viewer/GraphComponent.java | 2 +- 6 files changed, 20 insertions(+), 15 deletions(-) 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; }