aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Editor.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/Editor.cxx')
-rw-r--r--src/Editor.cxx15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/Editor.cxx b/src/Editor.cxx
index f618c78de..26c260101 100644
--- a/src/Editor.cxx
+++ b/src/Editor.cxx
@@ -1930,18 +1930,23 @@ void Editor::PaintSelMargin(Surface *surfWindow, PRectangle &rc) {
if (marks) {
for (int markBit = 0; (markBit < 32) && marks; markBit++) {
if (marks & 1) {
- LineMarker::typeOfFold tFold;
+ LineMarker::typeOfFold tFold = LineMarker::undefined;
if (!highlightDelimiter.isCurrentBlockHighlight(lineDoc)) {
tFold = LineMarker::undefined;
} else if (highlightDelimiter.isBodyBlockFold(lineDoc)) {
tFold = LineMarker::body;
} else if (highlightDelimiter.isHeadBlockFold(lineDoc)) {
- tFold = LineMarker::head;
+ if (firstSubLine) {
+ tFold = LineMarker::head;
+ } else {
+ if (cs.GetExpanded(lineDoc)) {
+ tFold = LineMarker::body;
+ } else {
+ tFold = LineMarker::undefined;
+ }
+ }
} else if (highlightDelimiter.isTailBlockFold(lineDoc)) {
tFold = LineMarker::tail;
- } else {
- //Normally, this branch is never used. But I prefer to manage it anyway.
- tFold = LineMarker::undefined;
}
vs.markers[markBit].Draw(surface, rcMarker, vs.styles[STYLE_LINENUMBER].font, tFold);
}