[WIN32SS] For application menu's, only exclude the menu item,

not the entire window.
Because the application menu is part of the application window,
this would lead to bad results.
This commit is contained in:
Mark Jansen 2019-08-07 00:50:21 +02:00
parent f7e39f7d2a
commit 3cbdcc6363
No known key found for this signature in database
GPG key ID: B39240EE84BEAE8B

View file

@ -3354,10 +3354,20 @@ static PMENU FASTCALL MENU_ShowSubPopup(PWND WndOwner, PMENU Menu, BOOL SelectFi
pWnd = ValidateHwndNoErr(Menu->hWnd);
/* Grab the rect of our (entire) parent menu, so we can try to not overlap it */
if (!IntGetWindowRect(pWnd, &ParentRect))
if (Menu->fFlags & MNF_POPUP)
{
ERR("No pWnd\n");
ParentRect = Rect;
if (!IntGetWindowRect(pWnd, &ParentRect))
{
ERR("No pWnd\n");
ParentRect = Rect;
}
}
else
{
/* Inside the menu bar, we do not want to grab the entire window... */
ParentRect = Rect;
if (pWnd)
RECTL_vOffsetRect(&ParentRect, pWnd->rcWindow.left, pWnd->rcWindow.top);
}
/* correct item if modified as a reaction to WM_INITMENUPOPUP message */