Commit e832c35a authored by Ulrich Czekalla's avatar Ulrich Czekalla Committed by Alexandre Julliard

When computing nonclient area take into consideration that a child

windows with the WS_POPUP style can have a menu bar.
parent 5e6461b6
...@@ -79,7 +79,7 @@ static const BYTE lpGrayMask[] = { 0xAA, 0xA0, ...@@ -79,7 +79,7 @@ static const BYTE lpGrayMask[] = { 0xAA, 0xA0,
((exStyle) & WS_EX_DLGMODALFRAME) || \ ((exStyle) & WS_EX_DLGMODALFRAME) || \
!((style) & (WS_CHILD | WS_POPUP))) !((style) & (WS_CHILD | WS_POPUP)))
#define HAS_MENU(w) (!((w)->dwStyle & WS_CHILD) && ((w)->wIDmenu != 0)) #define HAS_MENU(w) ((((w)->dwStyle & (WS_CHILD | WS_POPUP)) != WS_CHILD) && ((w)->wIDmenu != 0))
/****************************************************************************** /******************************************************************************
...@@ -390,7 +390,7 @@ LONG NC_HandleNCCalcSize( HWND hwnd, RECT *winRect ) ...@@ -390,7 +390,7 @@ LONG NC_HandleNCCalcSize( HWND hwnd, RECT *winRect )
winRect->right -= tmpRect.right; winRect->right -= tmpRect.right;
winRect->bottom -= tmpRect.bottom; winRect->bottom -= tmpRect.bottom;
if (!(style & WS_CHILD) && GetMenu(hwnd)) if (((style & (WS_CHILD | WS_POPUP)) != WS_CHILD) && GetMenu(hwnd))
{ {
TRACE("Calling GetMenuBarHeight with hwnd %p, width %ld, at (%ld, %ld).\n", TRACE("Calling GetMenuBarHeight with hwnd %p, width %ld, at (%ld, %ld).\n",
hwnd, winRect->right - winRect->left, -tmpRect.left, -tmpRect.top ); hwnd, winRect->right - winRect->left, -tmpRect.left, -tmpRect.top );
......
...@@ -747,7 +747,7 @@ void WINPOS_GetMinMaxInfo( HWND hwnd, POINT *maxSize, POINT *maxPos, ...@@ -747,7 +747,7 @@ void WINPOS_GetMinMaxInfo( HWND hwnd, POINT *maxSize, POINT *maxPos,
style &= ~WS_BORDER; /* WS_CAPTION = WS_DLGFRAME | WS_BORDER */ style &= ~WS_BORDER; /* WS_CAPTION = WS_DLGFRAME | WS_BORDER */
GetClientRect(GetAncestor(hwnd,GA_PARENT), &rc); GetClientRect(GetAncestor(hwnd,GA_PARENT), &rc);
AdjustWindowRectEx(&rc, style, 0, exstyle); AdjustWindowRectEx(&rc, style, ((style & WS_POPUP) && GetMenu(hwnd)), exstyle);
/* avoid calculating this twice */ /* avoid calculating this twice */
style &= ~(WS_DLGFRAME | WS_BORDER | WS_THICKFRAME); style &= ~(WS_DLGFRAME | WS_BORDER | WS_THICKFRAME);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment