From 856c9cacd8869754df2860460f2a2b5dfe4d7ad3 Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Wed, 25 Apr 2018 11:16:16 -0700 Subject: [PATCH] Handle a few edge cases where extension host may try accessing a disposed webview --- .../workbench/api/electron-browser/mainThreadWebview.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/vs/workbench/api/electron-browser/mainThreadWebview.ts b/src/vs/workbench/api/electron-browser/mainThreadWebview.ts index e5fdf06f5ad..5c24b3a33d7 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadWebview.ts +++ b/src/vs/workbench/api/electron-browser/mainThreadWebview.ts @@ -100,6 +100,10 @@ export class MainThreadWebviews implements MainThreadWebviewsShape, WebviewReviv $reveal(handle: WebviewPanelHandle, column: Position | undefined): void { const webview = this.getWebview(handle); + if (webview.isDisposed()) { + return; + } + this._webviewService.revealWebview(webview, column); } @@ -140,6 +144,10 @@ export class MainThreadWebviews implements MainThreadWebviewsShape, WebviewReviv } canRevive(webview: WebviewEditorInput): boolean { + if (webview.isDisposed()) { + return false; + } + return this._revivers.has(webview.viewType) || webview.reviver !== null; }