From ffadc0b31da181708353dbf985ecfc5d9e1daee9 Mon Sep 17 00:00:00 2001 From: Daniel Imms <2193314+Tyriar@users.noreply.github.com> Date: Fri, 9 Jun 2023 08:47:17 -0700 Subject: [PATCH] Fix NPEs on buffer line and windowsPty option --- src/common/InputHandler.ts | 10 ++++++---- src/common/services/OptionsService.ts | 4 ++++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/common/InputHandler.ts b/src/common/InputHandler.ts index 670cd68c..9a32ea69 100644 --- a/src/common/InputHandler.ts +++ b/src/common/InputHandler.ts @@ -1152,10 +1152,12 @@ export class InputHandler extends Disposable implements IInputHandler { * @param y row index */ private _resetBufferLine(y: number, respectProtect: boolean = false): void { - const line = this._activeBuffer.lines.get(this._activeBuffer.ybase + y)!; - line.fill(this._activeBuffer.getNullCell(this._eraseAttrData()), respectProtect); - this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase + y); - line.isWrapped = false; + const line = this._activeBuffer.lines.get(this._activeBuffer.ybase + y); + if (line) { + line.fill(this._activeBuffer.getNullCell(this._eraseAttrData()), respectProtect); + this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase + y); + line.isWrapped = false; + } } /** diff --git a/src/common/services/OptionsService.ts b/src/common/services/OptionsService.ts index a8650e76..94714f33 100644 --- a/src/common/services/OptionsService.ts +++ b/src/common/services/OptionsService.ts @@ -178,12 +178,16 @@ export class OptionsService extends Disposable implements IOptionsService { if (value <= 0) { throw new Error(`${key} cannot be less than or equal to 0, value: ${value}`); } + break; case 'rows': case 'cols': if (!value && value !== 0) { throw new Error(`${key} must be numeric, value: ${value}`); } break; + case 'windowsPty': + value = value ?? {}; + break; } return value; }