mirror of
https://github.com/atom/atom.git
synced 2026-01-26 07:19:06 -05:00
Constrain the end of the old screen range to the lastRenderedScreenRow, not maxScreenRow
Constraining the end of the new range max screen row instead of the last rendered row is what allows the buffer to get longer when the last rendered screen row is smaller than the last visible screen row. But constraining the end of the old range to this was causing artifacts. The old range should always be constrained to what is rendered on screen now, not what "could be". What "could be" is the domain of the new range.
This commit is contained in:
@@ -466,9 +466,9 @@ class Editor extends View
|
||||
oldScreenRange.end.row += delta
|
||||
|
||||
newScreenRange.start.row = Math.max(newScreenRange.start.row, @firstRenderedScreenRow)
|
||||
oldScreenRange.end.row = Math.min(oldScreenRange.end.row, @lastRenderedScreenRow)
|
||||
oldScreenRange.start.row = Math.max(oldScreenRange.start.row, @firstRenderedScreenRow)
|
||||
newScreenRange.end.row = Math.min(newScreenRange.end.row, maxEndRow)
|
||||
oldScreenRange.end.row = Math.min(oldScreenRange.end.row, maxEndRow)
|
||||
|
||||
lineElements = @buildLineElements(newScreenRange.start.row, newScreenRange.end.row)
|
||||
@replaceLineElements(oldScreenRange.start.row, oldScreenRange.end.row, lineElements)
|
||||
|
||||
Reference in New Issue
Block a user