diff --git a/src/video/windows/SDL_windowsevents.c b/src/video/windows/SDL_windowsevents.c index dc7312f649..9529baf637 100644 --- a/src/video/windows/SDL_windowsevents.c +++ b/src/video/windows/SDL_windowsevents.c @@ -1395,8 +1395,7 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) RECT rect; float x, y; - if (!GetClientRect(hwnd, &rect) || - (rect.right == rect.left && rect.bottom == rect.top)) { + if (!GetClientRect(hwnd, &rect) || IsRectEmpty(&rect)) { if (inputs) { SDL_small_free(inputs, isstack); } diff --git a/src/video/windows/SDL_windowswindow.c b/src/video/windows/SDL_windowswindow.c index 62a8ba5a14..c9ab6d480c 100644 --- a/src/video/windows/SDL_windowswindow.c +++ b/src/video/windows/SDL_windowswindow.c @@ -792,12 +792,12 @@ void WIN_GetWindowSizeInPixels(_THIS, SDL_Window *window, int *w, int *h) HWND hwnd = data->hwnd; RECT rect; - if (GetClientRect(hwnd, &rect)) { + if (GetClientRect(hwnd, &rect) && !IsRectEmpty(&rect)) { *w = rect.right; *h = rect.bottom; } else { - *w = 0; - *h = 0; + *w = window->last_pixel_w; + *h = window->last_pixel_h; } }