Fix Linux crash when config has large window dimensions

Co-authored-by: ayumi-signal <143036029+ayumi-signal@users.noreply.github.com>
This commit is contained in:
automated-signal 2024-07-15 18:14:48 -05:00 committed by GitHub
parent 2179577636
commit 1f8f6af6a8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -672,10 +672,19 @@ async function createWindow() {
const usePreloadBundle =
!isTestEnvironment(getEnvironment()) || forcePreloadBundle;
const primaryDisplay = screen.getPrimaryDisplay();
const { width: maxWidth, height: maxHeight } = primaryDisplay.workAreaSize;
const width = windowConfig
? Math.min(windowConfig.width, maxWidth)
: DEFAULT_WIDTH;
const height = windowConfig
? Math.min(windowConfig.height, maxHeight)
: DEFAULT_HEIGHT;
const windowOptions: Electron.BrowserWindowConstructorOptions = {
show: false,
width: DEFAULT_WIDTH,
height: DEFAULT_HEIGHT,
width,
height,
minWidth: MIN_WIDTH,
minHeight: MIN_HEIGHT,
autoHideMenuBar: false,
@ -700,7 +709,7 @@ async function createWindow() {
disableBlinkFeatures: 'Accelerated2dCanvas,AcceleratedSmallCanvases',
},
icon: windowIcon,
...pick(windowConfig, ['autoHideMenuBar', 'width', 'height', 'x', 'y']),
...pick(windowConfig, ['autoHideMenuBar', 'x', 'y']),
};
if (!isNumber(windowOptions.width) || windowOptions.width < MIN_WIDTH) {