Skip to content

Commit bad02ce

Browse files
committed
Make sure whole-line background is also uneditable
Issue codemirror#4194 Issue codemirror#4500
1 parent f491340 commit bad02ce

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

src/display/update_line.js

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ export function updateLineForChanges(cm, lineView, lineN, dims) {
1212
let type = lineView.changes[j]
1313
if (type == "text") updateLineText(cm, lineView)
1414
else if (type == "gutter") updateLineGutter(cm, lineView, lineN, dims)
15-
else if (type == "class") updateLineClasses(lineView)
15+
else if (type == "class") updateLineClasses(cm, lineView)
1616
else if (type == "widget") updateLineWidgets(cm, lineView, dims)
1717
}
1818
lineView.changes = null
@@ -31,7 +31,7 @@ function ensureLineWrapped(lineView) {
3131
return lineView.node
3232
}
3333

34-
function updateLineBackground(lineView) {
34+
function updateLineBackground(cm, lineView) {
3535
let cls = lineView.bgClass ? lineView.bgClass + " " + (lineView.line.bgClass || "") : lineView.line.bgClass
3636
if (cls) cls += " CodeMirror-linebackground"
3737
if (lineView.background) {
@@ -40,6 +40,7 @@ function updateLineBackground(lineView) {
4040
} else if (cls) {
4141
let wrap = ensureLineWrapped(lineView)
4242
lineView.background = wrap.insertBefore(elt("div", null, cls), wrap.firstChild)
43+
cm.display.input.setUneditable(lineView.background)
4344
}
4445
}
4546

@@ -67,14 +68,14 @@ function updateLineText(cm, lineView) {
6768
if (built.bgClass != lineView.bgClass || built.textClass != lineView.textClass) {
6869
lineView.bgClass = built.bgClass
6970
lineView.textClass = built.textClass
70-
updateLineClasses(lineView)
71+
updateLineClasses(cm, lineView)
7172
} else if (cls) {
7273
lineView.text.className = cls
7374
}
7475
}
7576

76-
function updateLineClasses(lineView) {
77-
updateLineBackground(lineView)
77+
function updateLineClasses(cm, lineView) {
78+
updateLineBackground(cm, lineView)
7879
if (lineView.line.wrapClass)
7980
ensureLineWrapped(lineView).className = lineView.line.wrapClass
8081
else if (lineView.node != lineView.text)
@@ -138,7 +139,7 @@ export function buildLineElement(cm, lineView, lineN, dims) {
138139
if (built.bgClass) lineView.bgClass = built.bgClass
139140
if (built.textClass) lineView.textClass = built.textClass
140141

141-
updateLineClasses(lineView)
142+
updateLineClasses(cm, lineView)
142143
updateLineGutter(cm, lineView, lineN, dims)
143144
insertLineWidgets(cm, lineView, dims)
144145
return lineView.node

0 commit comments

Comments
 (0)