提交 63d9bf40 编写于 作者: A Alex Dima

Fixes #35770

上级 3f81b43a
...@@ -158,7 +158,7 @@ export class SelectionsOverlay extends DynamicViewOverlay { ...@@ -158,7 +158,7 @@ export class SelectionsOverlay extends DynamicViewOverlay {
return false; return false;
} }
private _enrichVisibleRangesWithStyle(linesVisibleRanges: LineVisibleRangesWithStyle[], previousFrame: LineVisibleRangesWithStyle[]): void { private _enrichVisibleRangesWithStyle(viewport: Range, linesVisibleRanges: LineVisibleRangesWithStyle[], previousFrame: LineVisibleRangesWithStyle[]): void {
const epsilon = this._typicalHalfwidthCharacterWidth / 4; const epsilon = this._typicalHalfwidthCharacterWidth / 4;
let previousFrameTop: HorizontalRangeWithStyle = null; let previousFrameTop: HorizontalRangeWithStyle = null;
let previousFrameBottom: HorizontalRangeWithStyle = null; let previousFrameBottom: HorizontalRangeWithStyle = null;
...@@ -166,16 +166,20 @@ export class SelectionsOverlay extends DynamicViewOverlay { ...@@ -166,16 +166,20 @@ export class SelectionsOverlay extends DynamicViewOverlay {
if (previousFrame && previousFrame.length > 0 && linesVisibleRanges.length > 0) { if (previousFrame && previousFrame.length > 0 && linesVisibleRanges.length > 0) {
let topLineNumber = linesVisibleRanges[0].lineNumber; let topLineNumber = linesVisibleRanges[0].lineNumber;
for (let i = 0; !previousFrameTop && i < previousFrame.length; i++) { if (topLineNumber === viewport.startLineNumber) {
if (previousFrame[i].lineNumber === topLineNumber) { for (let i = 0; !previousFrameTop && i < previousFrame.length; i++) {
previousFrameTop = previousFrame[i].ranges[0]; if (previousFrame[i].lineNumber === topLineNumber) {
previousFrameTop = previousFrame[i].ranges[0];
}
} }
} }
let bottomLineNumber = linesVisibleRanges[linesVisibleRanges.length - 1].lineNumber; let bottomLineNumber = linesVisibleRanges[linesVisibleRanges.length - 1].lineNumber;
for (let i = previousFrame.length - 1; !previousFrameBottom && i >= 0; i--) { if (bottomLineNumber === viewport.endLineNumber) {
if (previousFrame[i].lineNumber === bottomLineNumber) { for (let i = previousFrame.length - 1; !previousFrameBottom && i >= 0; i--) {
previousFrameBottom = previousFrame[i].ranges[0]; if (previousFrame[i].lineNumber === bottomLineNumber) {
previousFrameBottom = previousFrame[i].ranges[0];
}
} }
} }
...@@ -258,7 +262,7 @@ export class SelectionsOverlay extends DynamicViewOverlay { ...@@ -258,7 +262,7 @@ export class SelectionsOverlay extends DynamicViewOverlay {
let visibleRangesHaveGaps = this._visibleRangesHaveGaps(linesVisibleRanges); let visibleRangesHaveGaps = this._visibleRangesHaveGaps(linesVisibleRanges);
if (!isIEWithZoomingIssuesNearRoundedBorders && !visibleRangesHaveGaps && this._roundedSelection) { if (!isIEWithZoomingIssuesNearRoundedBorders && !visibleRangesHaveGaps && this._roundedSelection) {
this._enrichVisibleRangesWithStyle(linesVisibleRanges, previousFrame); this._enrichVisibleRangesWithStyle(ctx.visibleRange, linesVisibleRanges, previousFrame);
} }
// The visible ranges are sorted TOP-BOTTOM and LEFT-RIGHT // The visible ranges are sorted TOP-BOTTOM and LEFT-RIGHT
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册