diff --git a/src/display/scroll_events.js b/src/display/scroll_events.js index b7ce0f583d3422192ade04a93c759f1c04108a52..cc4b50b866e4c081d19639a0d5845bdb42d42f2a 100644 --- a/src/display/scroll_events.js +++ b/src/display/scroll_events.js @@ -25,8 +25,8 @@ export function setScrollTop(cm, val, forceScroll) { // Sync scroller and scrollbar, ensure the gutter elements are // aligned. export function setScrollLeft(cm, val, isScroller, forceScroll) { - if ((isScroller ? val == cm.doc.scrollLeft : Math.abs(cm.doc.scrollLeft - val) < 2) && !forceScroll) return val = Math.min(val, cm.display.scroller.scrollWidth - cm.display.scroller.clientWidth) + if ((isScroller ? val == cm.doc.scrollLeft : Math.abs(cm.doc.scrollLeft - val) < 2) && !forceScroll) return cm.doc.scrollLeft = val alignHorizontally(cm) if (cm.display.scroller.scrollLeft != val) cm.display.scroller.scrollLeft = val @@ -101,7 +101,7 @@ export function onScrollWheel(cm, e) { if (dx && !gecko && !presto && wheelPixelsPerUnit != null) { if (dy && canScrollY) updateScrollTop(cm, Math.max(0, scroll.scrollTop + dy * wheelPixelsPerUnit)) - setScrollLeft(cm, Math.max(0, Math.min(scroll.scrollLeft + dx * wheelPixelsPerUnit, scroll.scrollWidth - scroll.clientWidth))) + setScrollLeft(cm, Math.max(0, scroll.scrollLeft + dx * wheelPixelsPerUnit)) // Only prevent default scrolling if vertical scrolling is // actually possible. Otherwise, it causes vertical scroll // jitter on OSX trackpads when deltaX is small and deltaY