aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorChristian Walther <walther@indel.ch>2013-12-03 10:55:59 +0100
committerChristian Walther <walther@indel.ch>2013-12-03 10:55:59 +0100
commitba63cce25a06beb0f02173dc0a9f4532facd212e (patch)
treef7544b6c31dbaab97d1b348a7e701b586f6cf4f3
parent3c73b698a8edc423776ecf8f40c1586fc5b093cd (diff)
downloadscintilla-mirror-ba63cce25a06beb0f02173dc0a9f4532facd212e.tar.gz
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.
-rw-r--r--src/Editor.cxx5
1 files changed, 4 insertions, 1 deletions
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);
+ }
}
}
}