Change:
a TS file, use the keyboard and type out a syntax error. The scrollbar error marker doesn't show up. the text cursor to another location using the mouse. The scrollbar error marker shows up then. says:
Very likely a regression from

Discussion:
} const decorations = this._context.viewModel.getAllOverviewRulerDecorations(this._context.theme); <del> decorations.sort(OverviewRulerDecorationsGroup.cmp); </del> <ins> decorations.sort(OverviewRulerDecorationsGroup.compareByRenderingProps); </ins> if (this._actualShouldRender === ShouldRenderValue.Maybe && !OverviewRulerDecorationsGroup.equalsArr(this._renderedDecorations, decorations)) { this._actualShouldRender = ShouldRenderValue.Needed;

*  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ <ins> import * as arrays from 'vs/base/common/arrays'; </ins> import { IScrollPosition, Scrollable } from 'vs/base/common/scrollable'; import * as strings from 'vs/base/common/strings'; <del> import { CursorConfiguration, CursorState, EditOperationType, IColumnSelectData, ICursorSimpleModel, PartialCursorState } from 'vs/editor/common/cursorCommon'; import { CursorChangeReason } from 'vs/editor/common/cursorEvents'; import { IViewLineTokens } from 'vs/editor/common/tokens/lineTokens'; </del> import { IPosition, Position } from 'vs/editor/common/core/position'; import { Range } from 'vs/editor/common/core/range'; <ins> import { CursorConfiguration, CursorState, EditOperationType, IColumnSelectData, ICursorSimpleModel, PartialCursorState } from 'vs/editor/common/cursorCommon'; import { CursorChangeReason } from 'vs/editor/common/cursorEvents'; </ins> import { INewScrollPosition, ScrollType } from 'vs/editor/common/editorCommon'; <del> import { EndOfLinePreference, IModelDecorationOptions, ITextModel, PositionAffinity } from 'vs/editor/common/model'; import { BracketGuideOptions, IActiveIndentGuideInfo, IndentGuide } from 'vs/editor/common/textModelGuides'; </del> import { EditorTheme } from 'vs/editor/common/editorTheme'; <del> import { VerticalRevealType } from 'vs/editor/common/viewEvents'; </del> <ins> import { EndOfLinePreference, IModelDecorationOptions, ITextModel, PositionAffinity } from 'vs/editor/common/model'; </ins> import { ILineBreaksComputer, InjectedText } from 'vs/editor/common/modelLineProjectionData'; <ins> import { BracketGuideOptions, IActiveIndentGuideInfo, IndentGuide } from 'vs/editor/common/textModelGuides'; import { IViewLineTokens } from 'vs/editor/common/tokens/lineTokens'; </ins> import { ViewEventHandler } from 'vs/editor/common/viewEventHandler'; <ins> import { VerticalRevealType } from 'vs/editor/common/viewEvents'; </ins> export interface IViewModel extends ICursorSimpleModel {

public readonly data: number[] ) { } <del> public static cmp(a: OverviewRulerDecorationsGroup, b: OverviewRulerDecorationsGroup): number { </del> <ins> public static compareByRenderingProps(a: OverviewRulerDecorationsGroup, b: OverviewRulerDecorationsGroup): number { </ins> if (a.zIndex === b.zIndex) { if (a.color < b.color) { return -1;

return a.zIndex - b.zIndex; } <ins> public static equals(a: OverviewRulerDecorationsGroup, b: OverviewRulerDecorationsGroup): boolean { return ( a.color === b.color && a.zIndex === b.zIndex && arrays.equals(a.data, b.data) ); } </ins> public static equalsArr(a: OverviewRulerDecorationsGroup[], b: OverviewRulerDecorationsGroup[]): boolean { <del> if (a.length !== b.length) { return false; } for (let i = 0, len = a.length; i < len; i++) { if (OverviewRulerDecorationsGroup.cmp(a[i], b[i]) !== 0) { return false; } } return true; </del> <ins> return arrays.equals(a, b, OverviewRulerDecorationsGroup.equals); </ins> } }