From ba63cce25a06beb0f02173dc0a9f4532facd212e Mon Sep 17 00:00:00 2001 From: Christian Walther Date: Tue, 3 Dec 2013 10:55:59 +0100 Subject: Bug [#1560]. Fix missing second one of adjacent indicators. When there are two adjacent instances of the same indicator (but with different values), only the first of them was drawn. This is because when attempting to skip the gap between the first and second indicator, Editor::DrawIndicators would skip whatever run was there without checking whether it was actually a gap or already the next indicator. --- src/Editor.cxx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/Editor.cxx b/src/Editor.cxx index 0c100252d..36f85a92c 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -2731,7 +2731,10 @@ void Editor::DrawIndicators(Surface *surface, ViewStyle &vsDraw, int line, int x endPos = posLineEnd; DrawIndicator(deco->indicator, startPos - posLineStart, endPos - posLineStart, surface, vsDraw, xStart, rcLine, ll, subLine); - startPos = deco->rs.EndRun(endPos); + startPos = endPos; + if (!deco->rs.ValueAt(startPos)) { + startPos = deco->rs.EndRun(startPos); + } } } } -- cgit v1.2.3