Fixed bug 1848 - SDL_SetWindowSize cannot set sizes larger than desktop resolution in Windows
authorSam Lantinga <slouken@libsdl.org>
Tue, 06 Aug 2013 22:55:55 -0700
changeset 7583 7e053ad01aa3
parent 7582 fb276f54cd07
child 7584 864eca4d27a7
Fixed bug 1848 - SDL_SetWindowSize cannot set sizes larger than desktop resolution in Windows
src/video/windows/SDL_windowswindow.c
--- a/src/video/windows/SDL_windowswindow.c	Tue Aug 06 22:31:11 2013 -0700
+++ b/src/video/windows/SDL_windowswindow.c	Tue Aug 06 22:55:55 2013 -0700
@@ -131,8 +131,15 @@
     {
         RECT rect;
         if (GetClientRect(hwnd, &rect)) {
-            window->w = rect.right;
-            window->h = rect.bottom;
+            int w = rect.right;
+            int h = rect.bottom;
+            if ((window->w && window->w != w) || (window->h && window->h != h)) {
+                // We tried to create a window larger than the desktop and Windows didn't allow it.  Override!
+                SetWindowPos(hwnd, NULL, 0, 0, window->w, window->h, SWP_NOCOPYBITS | SWP_NOZORDER | SWP_NOMOVE | SWP_NOACTIVATE);
+            } else {
+                window->w = w;
+                window->h = h;
+            }
         }
     }
     {