David MacCormack fixed a bug in window sizing with Windows menus
authorSam Lantinga <slouken@libsdl.org>
Mon, 20 Jan 2003 00:17:01 +0000
changeset 565 7d7e19b59866
parent 564 0da795da276c
child 566 d6e7d7006062
David MacCormack fixed a bug in window sizing with Windows menus
src/video/wincommon/SDL_sysevents.c
--- a/src/video/wincommon/SDL_sysevents.c	Sun Jan 19 23:01:35 2003 +0000
+++ b/src/video/wincommon/SDL_sysevents.c	Mon Jan 20 00:17:01 2003 +0000
@@ -396,6 +396,7 @@
 			MINMAXINFO *info;
 			RECT        size;
 			int x, y;
+			int style;
 			int width;
 			int height;
 
@@ -424,8 +425,19 @@
 				size.bottom = 0;
 				size.right = 0;
 			}
-			AdjustWindowRect(&size, GetWindowLong(hwnd, GWL_STYLE),
-									FALSE);
+
+			/* DJM - according to the docs for GetMenu(), the
+			   return value is undefined if hwnd is a child window.
+			   Aparently it's too difficult for MS to check
+			   inside their function, so I have to do it here.
+          		 */
+         		style = GetWindowLong(hwnd, GWL_STYLE);
+         		AdjustWindowRect(
+				&size,
+				style,
+            			style & WS_CHILDWINDOW ? FALSE
+						       : GetMenu(hwnd) != NULL);
+
 			width = size.right - size.left;
 			height = size.bottom - size.top;