diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/util/viewer/field/LabelFieldSymbolLoader.java b/Ghidra/Features/Base/src/main/java/ghidra/app/util/viewer/field/LabelFieldSymbolLoader.java index 062c413468..726a283595 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/util/viewer/field/LabelFieldSymbolLoader.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/util/viewer/field/LabelFieldSymbolLoader.java @@ -68,25 +68,37 @@ public class LabelFieldSymbolLoader { return; } + boolean showPrimary = !ignoreSymbol(primary); + int remaining = showPrimary ? max - 1 : max; + while (it.hasNext()) { Symbol s = it.next(); if (s.isPrimary()) { continue; } - if ((max - 1) == symbols.size()) { // -1 to save space for primary + if (remaining == symbols.size()) { hasMore = true; break; } - if (s instanceof FunctionSymbol && !displayFunctionLabel) { + if (ignoreSymbol(s)) { continue; } symbols.add(s); } - symbols.add(primary); + if (showPrimary) { + symbols.add(primary); + } + } + + private boolean ignoreSymbol(Symbol s) { + if (s instanceof FunctionSymbol) { + return !displayFunctionLabel; + } + return false; } private void gatherOffcutSymbols(CodeUnit cu, int max) { diff --git a/Ghidra/Features/Base/src/test.slow/java/ghidra/app/util/viewer/field/LabelFieldFactoryTest.java b/Ghidra/Features/Base/src/test.slow/java/ghidra/app/util/viewer/field/LabelFieldFactoryTest.java index 060fc0e4c9..d8048d52ba 100644 --- a/Ghidra/Features/Base/src/test.slow/java/ghidra/app/util/viewer/field/LabelFieldFactoryTest.java +++ b/Ghidra/Features/Base/src/test.slow/java/ghidra/app/util/viewer/field/LabelFieldFactoryTest.java @@ -44,10 +44,6 @@ public class LabelFieldFactoryTest extends AbstractGhidraHeadedIntegrationTest { private CodeBrowserPlugin cb; private Program program; - public LabelFieldFactoryTest() { - super(); - } - @Before public void setUp() throws Exception {