Non-resizable windows need to have their window rect set to the client rect
diff --git a/src/video/windows/SDL_windowsevents.c b/src/video/windows/SDL_windowsevents.c
index b73e9df..b12c0ce 100644
--- a/src/video/windows/SDL_windowsevents.c
+++ b/src/video/windows/SDL_windowsevents.c
@@ -951,9 +951,17 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
case WM_NCCALCSIZE:
{
- // When borderless, need to tell windows that the size of the non-client area is 0
- if ( wParam == TRUE && SDL_GetWindowFlags( data->window ) & SDL_WINDOW_BORDERLESS )
+ if (wParam == TRUE && SDL_GetWindowFlags(data->window) & SDL_WINDOW_BORDERLESS) {
+ /* When borderless, need to tell windows that the size of the non-client area is 0 */
+ if (!(SDL_GetWindowFlags(data->window) & SDL_WINDOW_RESIZABLE)) {
+ int w, h;
+ NCCALCSIZE_PARAMS *params = (NCCALCSIZE_PARAMS *)lParam;
+ SDL_GetWindowSize(data->window, &w, &h);
+ params->rgrc[0].right = params->rgrc[0].left + w;
+ params->rgrc[0].bottom = params->rgrc[0].top + h;
+ }
return 0;
+ }
}
break;