Skip to content

Commit cdb228a

Browse files
committed
Fix horizontal scrolling-into-view with non-fixed gutters
Closes #6436
1 parent 1cb6de2 commit cdb228a

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/display/scrolling.js

+4-3
Original file line numberDiff line numberDiff line change
@@ -91,14 +91,15 @@ function calculateScrollPos(cm, rect) {
9191
if (newTop != screentop) result.scrollTop = newTop
9292
}
9393

94-
let screenleft = cm.curOp && cm.curOp.scrollLeft != null ? cm.curOp.scrollLeft : display.scroller.scrollLeft
95-
let screenw = displayWidth(cm) - (cm.options.fixedGutter ? display.gutters.offsetWidth : 0)
94+
let gutterSpace = cm.options.fixedGutter ? 0 : display.gutters.offsetWidth
95+
let screenleft = cm.curOp && cm.curOp.scrollLeft != null ? cm.curOp.scrollLeft : display.scroller.scrollLeft - gutterSpace
96+
let screenw = displayWidth(cm) - display.gutters.offsetWidth
9697
let tooWide = rect.right - rect.left > screenw
9798
if (tooWide) rect.right = rect.left + screenw
9899
if (rect.left < 10)
99100
result.scrollLeft = 0
100101
else if (rect.left < screenleft)
101-
result.scrollLeft = Math.max(0, rect.left - (tooWide ? 0 : 10))
102+
result.scrollLeft = Math.max(0, rect.left + gutterSpace - (tooWide ? 0 : 10))
102103
else if (rect.right > screenw + screenleft - 3)
103104
result.scrollLeft = rect.right + (tooWide ? 0 : 10) - screenw
104105
return result

0 commit comments

Comments
 (0)