aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
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
commitb8fa20fd15ebffec69983287d7a444bf0c7d670a (patch)
treef317ad2ff6ad673d6ef5d533d31ceee21fc0bf37 /src
parentfbac5206d8bd5094e13be6691d986bd12975b8f7 (diff)
downloadscintilla-mirror-b8fa20fd15ebffec69983287d7a444bf0c7d670a.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.
Diffstat (limited to 'src')
-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);
+ }
}
}
}