From 9a513a6151fc6b92cd7c6b7716a1efb093eb05e9 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 30 Jan 2026 19:19:45 +0100 Subject: [PATCH 1/5] fixed typos preventing window from min/maxing --- src/platforms/rcore_desktop_win32.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/platforms/rcore_desktop_win32.c b/src/platforms/rcore_desktop_win32.c index 70ebd8b92..2b02724c7 100644 --- a/src/platforms/rcore_desktop_win32.c +++ b/src/platforms/rcore_desktop_win32.c @@ -2090,10 +2090,10 @@ static void UpdateWindowStyle(HWND hwnd, unsigned desiredFlags) // Minimized takes precedence over maximized Mized currentMized = MIZED_NONE; Mized desiredMized = MIZED_NONE; - if (CORE.Window.flags & WS_MINIMIZE) currentMized = MIZED_MIN; - else if (CORE.Window.flags & WS_MAXIMIZE) currentMized = MIZED_MAX; - if (desiredFlags & WS_MINIMIZE) currentMized = MIZED_MIN; - else if (desiredFlags & WS_MAXIMIZE) currentMized = MIZED_MAX; + if (CORE.Window.flags & FLAG_WINDOW_MINIMIZED) currentMized = MIZED_MIN; + else if (CORE.Window.flags & FLAG_WINDOW_MAXIMIZED) currentMized = MIZED_MAX; + if (desiredFlags & FLAG_WINDOW_MINIMIZED) desiredMized = MIZED_MIN; + else if (desiredFlags & FLAG_WINDOW_MAXIMIZED) desiredMized = MIZED_MAX; if (currentMized != desiredMized) { From 59ea022c6711e11ae36046a22a732bec5f4e650c Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 30 Jan 2026 19:47:04 +0100 Subject: [PATCH 2/5] fixed window style generation ignoring minimize precedence, causing errors in edge cases --- src/platforms/rcore_desktop_win32.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/platforms/rcore_desktop_win32.c b/src/platforms/rcore_desktop_win32.c index 2b02724c7..2c8a50dbd 100644 --- a/src/platforms/rcore_desktop_win32.c +++ b/src/platforms/rcore_desktop_win32.c @@ -270,8 +270,8 @@ static DWORD MakeWindowStyle(unsigned flags) // Minimized takes precedence over maximized int mized = MIZED_NONE; - if (FLAG_IS_SET(flags, FLAG_WINDOW_MINIMIZED)) mized = MIZED_MIN; - if (flags & FLAG_WINDOW_MAXIMIZED) mized = MIZED_MAX; + if (flags & FLAG_WINDOW_MINIMIZED) mized = MIZED_MIN; + else if (flags & FLAG_WINDOW_MAXIMIZED) mized = MIZED_MAX; switch (mized) { From 2c5f1c6faf3a4a77bfbac6c1ba3647912cdad46e Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 31 Jan 2026 19:40:04 +0100 Subject: [PATCH 3/5] added maximize button on resizable windows --- src/platforms/rcore_desktop_win32.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/platforms/rcore_desktop_win32.c b/src/platforms/rcore_desktop_win32.c index 2c8a50dbd..fabe1b20b 100644 --- a/src/platforms/rcore_desktop_win32.c +++ b/src/platforms/rcore_desktop_win32.c @@ -141,7 +141,7 @@ static PFNWGLGETEXTENSIONSSTRINGARBPROC wglGetExtensionsStringARB = NULL; #define STYLE_MASK_READONLY (WS_MINIMIZE | WS_MAXIMIZE) #define STYLE_MASK_WRITABLE (~STYLE_MASK_READONLY) -#define STYLE_FLAGS_RESIZABLE WS_THICKFRAME +#define STYLE_FLAGS_RESIZABLE (WS_THICKFRAME | WS_MAXIMIZEBOX) #define STYLE_FLAGS_UNDECORATED_OFF (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX) #define STYLE_FLAGS_UNDECORATED_ON WS_POPUP From 3be2793a84c8af3645f64b8defcb75c39ac0753e Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 31 Jan 2026 19:43:19 +0100 Subject: [PATCH 4/5] fixed infinite loop when resizing the window manually --- src/platforms/rcore_desktop_win32.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/platforms/rcore_desktop_win32.c b/src/platforms/rcore_desktop_win32.c index fabe1b20b..77183f25c 100644 --- a/src/platforms/rcore_desktop_win32.c +++ b/src/platforms/rcore_desktop_win32.c @@ -1916,6 +1916,7 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lpara EndPaint(hwnd, &ps); } + else DefWindowProc(hwnd, msg, wparam, lparam); } case WM_INPUT: { From 6f0dc1a9ca4d5fd65fcedbc0ad90cd73809dab6a Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 31 Jan 2026 20:39:00 +0100 Subject: [PATCH 5/5] activate window upon creation to set focus and show taskbar icon --- src/platforms/rcore_desktop_win32.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/platforms/rcore_desktop_win32.c b/src/platforms/rcore_desktop_win32.c index 77183f25c..38d3eeee4 100644 --- a/src/platforms/rcore_desktop_win32.c +++ b/src/platforms/rcore_desktop_win32.c @@ -1590,8 +1590,6 @@ int InitPlatform(void) if (rlGetVersion() == RL_OPENGL_11_SOFTWARE) // Using software renderer { - //ShowWindow(platform.hwnd, SW_SHOWDEFAULT); //SW_SHOWNORMAL - // Initialize software framebuffer BITMAPINFO bmi = { 0 }; ZeroMemory(&bmi, sizeof(bmi)); @@ -1620,6 +1618,9 @@ int InitPlatform(void) CORE.Window.ready = true; + // Activate window to set focus and show taskbar icon + ShowWindow(platform.hwnd, SW_SHOWDEFAULT); + // Update flags (in case of deferred state change required) UpdateFlags(platform.hwnd, platform.desiredFlags, platform.appScreenWidth, platform.appScreenHeight);