diff --git a/src/vs/workbench/contrib/customEditor/browser/customEditorInput.ts b/src/vs/workbench/contrib/customEditor/browser/customEditorInput.ts index 964a6a0443b..55bb2295d65 100644 --- a/src/vs/workbench/contrib/customEditor/browser/customEditorInput.ts +++ b/src/vs/workbench/contrib/customEditor/browser/customEditorInput.ts @@ -152,6 +152,11 @@ export class CustomEditorInput extends LazilyResolvedWebviewEditorInput { if (this.resource.scheme === Schemas.untitled) { capabilities |= EditorInputCapabilities.Untitled; + capabilities |= EditorInputCapabilities.AuxWindowUnsupported; + } + + if (this.isDirty()) { + capabilities |= EditorInputCapabilities.AuxWindowUnsupported; } return capabilities; diff --git a/src/vs/workbench/contrib/webview/browser/overlayWebview.ts b/src/vs/workbench/contrib/webview/browser/overlayWebview.ts index a5cfe2c7e89..c47093f3967 100644 --- a/src/vs/workbench/contrib/webview/browser/overlayWebview.ts +++ b/src/vs/workbench/contrib/webview/browser/overlayWebview.ts @@ -123,6 +123,9 @@ export class OverlayWebview extends Disposable implements IOverlayWebview { if (this._windowId !== targetWindow.vscodeWindowId) { // moving to a new window this.release(oldOwner); + // since we are moving to a new window, we need to dispose the webview and recreate + this._webview.clear(); + this._webviewEvents.clear(); this._container?.domNode.remove(); this._container = undefined; }