diff --git a/src/sql/base/browser/ui/panel/panel.ts b/src/sql/base/browser/ui/panel/panel.ts index bf3f07e79a..b9ab4c51cd 100644 --- a/src/sql/base/browser/ui/panel/panel.ts +++ b/src/sql/base/browser/ui/panel/panel.ts @@ -184,11 +184,15 @@ export class TabbedPanel extends Disposable implements IThemable { public removeTab(tab: PanelTabIdentifier) { let actualTab = this._tabMap.get(tab); - if (actualTab.view.remove) { + if (actualTab.view && actualTab.view.remove) { actualTab.view.remove(); } - actualTab.header.remove(); - actualTab.body.remove(); + if (actualTab.header && actualTab.header.remove) { + actualTab.header.remove(); + } + if (actualTab.body && actualTab.body.remove) { + actualTab.body.remove(); + } dispose(actualTab.disposables); this._tabMap.delete(tab); if (this._shownTab === tab) { diff --git a/src/sql/workbench/api/node/extHostQueryEditor.ts b/src/sql/workbench/api/node/extHostQueryEditor.ts index 54235e2a8c..d6c7722719 100644 --- a/src/sql/workbench/api/node/extHostQueryEditor.ts +++ b/src/sql/workbench/api/node/extHostQueryEditor.ts @@ -60,7 +60,8 @@ export class ExtHostQueryEditor implements ExtHostQueryEditorShape { public $onQueryEvent(handle: number, fileUri:string, event: IQueryEvent): void { let listener: azdata.queryeditor.QueryEventListener = this._queryListeners[handle]; if (listener) { - listener.onQueryEvent(event.type, new ExtHostQueryDocument('MSSQL', fileUri, this._proxy), event.params.planXml); + let planXml = event.params ? event.params.planXml : undefined; + listener.onQueryEvent(event.type, new ExtHostQueryDocument('MSSQL', fileUri, this._proxy), planXml); } } }