aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Editor.cxx11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/Editor.cxx b/src/Editor.cxx
index 23b612229..fedc91f59 100644
--- a/src/Editor.cxx
+++ b/src/Editor.cxx
@@ -360,7 +360,7 @@ Editor::Editor() {
topLine = 0;
posTopLine = 0;
-
+
lengthForEncode = 0;
needUpdateUI = true;
@@ -2208,8 +2208,9 @@ void Editor::DrawLine(Surface *surface, ViewStyle &vsDraw, int line, int lineVis
// See if something overrides the line background color: Either if caret is on the line
// and background color is set for that, or if a marker is defined that forces its background
// color onto the line, or if a marker is defined but has no selection margin in which to
- // display itself. These are checked in order with the earlier taking precedence. When
- // multiple markers cause background override, the color for the highest numbered one is used.
+ // display itself (as long as it's not an SC_MARK_EMPTY marker). These are checked in order
+ // with the earlier taking precedence. When multiple markers cause background override,
+ // the color for the highest numbered one is used.
bool overrideBackground = false;
ColourAllocated background;
if (caret.active && vsDraw.showCaretLineBackground && ll->containsCaret) {
@@ -2230,9 +2231,9 @@ void Editor::DrawLine(Surface *surface, ViewStyle &vsDraw, int line, int lineVis
if (vsDraw.maskInLine) {
int marks = pdoc->GetMark(line) & vsDraw.maskInLine;
if (marks) {
- overrideBackground = true;
for (int markBit = 0; (markBit < 32) && marks; markBit++) {
- if (marks & 1) {
+ if ((marks & 1) && (vsDraw.markers[markBit].markType != SC_MARK_EMPTY)) {
+ overrideBackground = true;
background = vsDraw.markers[markBit].back.allocated;
}
marks >>= 1;