From c71e8d7bb5271b9da06b51ae0331bb1a4f5b96bd Mon Sep 17 00:00:00 2001 From: Aiday Marlen Kyzy Date: Wed, 6 Sep 2023 14:25:26 +0200 Subject: [PATCH] checking that view exists before running code --- .../contrib/stickyScroll/browser/stickyScrollWidget.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.ts b/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.ts index f98f67e3570..9a47963427b 100644 --- a/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.ts +++ b/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.ts @@ -168,6 +168,9 @@ export class StickyScrollWidget extends Disposable implements IOverlayWidget { const layoutInfo = this._editor.getLayoutInfo(); for (const [index, line] of this._lineNumbers.entries()) { const renderedStickyLine = this._renderChildNode(index, line, layoutInfo, foldingModel); + if (!renderedStickyLine) { + continue; + } this._linesDomNode.appendChild(renderedStickyLine.lineDomNode); this._lineNumbersDomNode.appendChild(renderedStickyLine.lineNumberDomNode); this._stickyLines.push(renderedStickyLine); @@ -214,9 +217,12 @@ export class StickyScrollWidget extends Disposable implements IOverlayWidget { })); } - private _renderChildNode(index: number, line: number, layoutInfo: EditorLayoutInfo, foldingModel: FoldingModel | null | undefined): RenderedStickyLine { + private _renderChildNode(index: number, line: number, layoutInfo: EditorLayoutInfo, foldingModel: FoldingModel | null | undefined): RenderedStickyLine | undefined { const viewModel = this._editor._getViewModel(); - const viewLineNumber = viewModel!.coordinatesConverter.convertModelPositionToViewPosition(new Position(line, 1)).lineNumber; + if (!viewModel) { + return; + } + const viewLineNumber = viewModel.coordinatesConverter.convertModelPositionToViewPosition(new Position(line, 1)).lineNumber; const lineRenderingData = viewModel!.getViewLineRenderingData(viewLineNumber); const minimapSide = this._editor.getOption(EditorOption.minimap).side; const lineNumberOption = this._editor.getOption(EditorOption.lineNumbers);