Index: win32ss/user/ntuser/nonclient.c =================================================================== --- win32ss/user/ntuser/nonclient.c (revision 71708) +++ win32ss/user/ntuser/nonclient.c (working copy) @@ -943,13 +943,10 @@ if (!(Style & WS_MINIMIZE)) { - PMENU menu = UserGetMenuObject(UlongToHandle(pWnd->IDMenu)); /* Draw menu bar */ - if ( menu && (((Style) & (WS_CHILD | WS_POPUP)) != WS_CHILD) ) + if (HAS_MENU(pWnd, Style)) { - TempRect = CurrentRect; - TempRect.bottom = TempRect.top + menu->cyMenu; - CurrentRect.top += MENU_DrawMenuBar(hDC, &TempRect, pWnd, FALSE); + CurrentRect.top += MENU_DrawMenuBar(hDC, &CurrentRect, pWnd, FALSE); } if (ExStyle & WS_EX_CLIENTEDGE) @@ -1112,13 +1109,13 @@ if (!(Style & WS_MINIMIZE)) { - PMENU menu = UserGetMenuObject(UlongToHandle(pWnd->IDMenu)); /* Draw menu bar */ - if ( menu && (((Style) & (WS_CHILD | WS_POPUP)) != WS_CHILD) ) + if (HAS_MENU(pWnd, Style)) { - TempRect = CurrentRect; - TempRect.bottom = TempRect.top + menu->cyMenu; - if (!(Flags & DC_NOSENDMSG)) CurrentRect.top += MENU_DrawMenuBar(hDC, &TempRect, pWnd, FALSE); + if (!(Flags & DC_NOSENDMSG)) + { + CurrentRect.top += MENU_DrawMenuBar(hDC, &CurrentRect, pWnd, FALSE); + } } if (ExStyle & WS_EX_CLIENTEDGE) @@ -1219,7 +1216,7 @@ Rect->top += UserGetSystemMetrics(SM_CYCAPTION); } - if (Wnd->IDMenu && ((Wnd->style & (WS_CHILD | WS_POPUP)) != WS_CHILD)) + if (HAS_MENU(Wnd, Style)) { HDC hDC = UserGetDCEx(Wnd, 0, DCX_USESTYLE | DCX_WINDOW);