diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/SemanticHighlightingReconciler.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/SemanticHighlightingReconciler.java index 9ebc04fb38c..cf2d15cba7b 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/SemanticHighlightingReconciler.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/SemanticHighlightingReconciler.java @@ -215,6 +215,7 @@ public class SemanticHighlightingReconciler implements ICReconcilingListener { } IASTNode macroNode= node.getTranslationUnit().selectNodeForLocation(fFilePath, useOffset, macroLength); if (macroNode != null && visitMacro(macroNode, macroLength)) { + fMinLocation= useOffset + macroLength; return false; } } @@ -291,9 +292,11 @@ public class SemanticHighlightingReconciler implements ICReconcilingListener { return; } int offset= nodeLocation.getNodeOffset(); - int length= nodeLocation.getNodeLength(); - if (offset > -1 && length > 0) { - addPosition(offset, length, highlighting); + if (offset >= fMinLocation) { + int length= nodeLocation.getNodeLength(); + if (offset > -1 && length > 0) { + addPosition(offset, length, highlighting); + } } }