From b9438bb3a637ff602ca048edf22697aea82f94ef Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Mon, 14 Oct 2019 15:11:01 +0200 Subject: [PATCH] fix #41691 --- .../platform/windows/electron-main/windowsMainService.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/vs/platform/windows/electron-main/windowsMainService.ts b/src/vs/platform/windows/electron-main/windowsMainService.ts index 173db4ee066..6b37e696737 100644 --- a/src/vs/platform/windows/electron-main/windowsMainService.ts +++ b/src/vs/platform/windows/electron-main/windowsMainService.ts @@ -1381,6 +1381,15 @@ export class WindowsMainService extends Disposable implements IWindowsMainServic // Window state is from a previous session: only allow fullscreen when we got updated or user wants to restore else { allowFullscreen = this.lifecycleMainService.wasRestarted || (windowConfig && windowConfig.restoreFullscreen); + + if (allowFullscreen && isMacintosh && WindowsMainService.WINDOWS.some(win => win.isFullScreen)) { + // macOS: Electron does not allow to restore multiple windows in + // fullscreen. As such, if we already restored a window in that + // state, we cannot allow more fullscreen windows. See + // https://github.com/microsoft/vscode/issues/41691 and + // https://github.com/electron/electron/issues/13077 + allowFullscreen = false; + } } if (state.mode === WindowMode.Fullscreen && !allowFullscreen) { -- GitLab