[WIN32K:NTUSER] Fix NULL pointer dereference in MENU_HideSubPopups

Fixes CORE-19367.
This commit is contained in:
Timo Kreuzer 2024-05-03 15:39:33 +03:00
parent 67c28b723e
commit e8e770fd14

View file

@ -3282,11 +3282,14 @@ static void FASTCALL MENU_HideSubPopups(PWND pWndOwner, PMENU Menu,
{
PWND pWnd;
if (!VerifyMenu(Item->spSubMenu)) return;
pWnd = ValidateHwndNoErr(Item->spSubMenu->hWnd);
MENU_HideSubPopups(pWndOwner, Item->spSubMenu, FALSE, wFlags);
MENU_SelectItem(pWndOwner, Item->spSubMenu, NO_SELECTED_ITEM, SendMenuSelect, NULL);
TRACE("M_HSP top p hm %p pWndOwner IDMenu %p\n",top_popup_hmenu,pWndOwner->IDMenu);
co_UserDestroyWindow(pWnd);
pWnd = ValidateHwndNoErr(Item->spSubMenu->hWnd);
if (pWnd != NULL)
{
co_UserDestroyWindow(pWnd);
}
/* Native returns handle to destroyed window */
if (!(wFlags & TPM_NONOTIFY))