From b43a86a9f3131423b062a4086533edcc7fdde613 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Tue, 10 Feb 2026 15:18:47 +0100 Subject: [PATCH] Windows: Fix the initial window size Fixes #21235 --- Windows/MainWindow.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Windows/MainWindow.cpp b/Windows/MainWindow.cpp index 0ea5deb540..2ad1f98489 100644 --- a/Windows/MainWindow.cpp +++ b/Windows/MainWindow.cpp @@ -503,11 +503,22 @@ namespace MainWindow { g_hMenu = GetMenu(hwndMain); WINDOWPLACEMENT placement = {sizeof(WINDOWPLACEMENT)}; + if ((g_Config.iWindowX == -1 && g_Config.iWindowY == -1) || g_Config.iWindowWidth < 20 || g_Config.iWindowHeight < 20) { + RECT rc = DetermineDefaultWindowRectangle(); + // Should be a first boot, or just bad parameters. Reset. + g_Config.iWindowSizeState = (int)WindowSizeState::Normal; + g_Config.iWindowX = rc.left; + g_Config.iWindowY = rc.top; + g_Config.iWindowWidth = rc.right - rc.left; + g_Config.iWindowHeight = rc.bottom - rc.top; + } + placement.showCmd = WindowSizeStateToShowCmd((WindowSizeState)g_Config.iWindowSizeState); placement.rcNormalPosition.left = g_Config.iWindowX; placement.rcNormalPosition.top = g_Config.iWindowY; placement.rcNormalPosition.right = g_Config.iWindowX + g_Config.iWindowWidth; placement.rcNormalPosition.bottom = g_Config.iWindowY + g_Config.iWindowHeight; + SetWindowPlacement(hwndMain, &placement); // SetWindowLong(hwndMain, GWL_EXSTYLE, WS_EX_APPWINDOW);