From acf17c435333242c0e8cfd53bc312e8ff0cd99da Mon Sep 17 00:00:00 2001 From: Katayama Hirofumi MZ Date: Tue, 19 Oct 2021 14:45:57 +0900 Subject: [PATCH] [NTUSER][USER32] Fix tracking menu on CORE-17338 --- win32ss/user/ntuser/menu.c | 2 +- win32ss/user/user32/windows/defwnd.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/win32ss/user/ntuser/menu.c b/win32ss/user/ntuser/menu.c index 71a52b94b40c..3c006fcd5a61 100644 --- a/win32ss/user/ntuser/menu.c +++ b/win32ss/user/ntuser/menu.c @@ -4118,7 +4118,7 @@ static INT FASTCALL MENU_TrackMenu(PMENU pmenu, UINT wFlags, INT x, INT y, /* ReactOS Checks */ if (!VerifyWnd(mt.OwnerWnd) || !ValidateHwndNoErr(mt.CurrentMenu->hWnd) || - pti->MessageQueue->QF_flags & QF_ACTIVATIONCHANGE || + //pti->MessageQueue->QF_flags & QF_ACTIVATIONCHANGE || // See CORE-17338 capture_win != IntGetCapture() ) // Should not happen, but this is ReactOS... { ErrorExit = TRUE; // Do not wait on dead windows, now win test_capture_4 works. diff --git a/win32ss/user/user32/windows/defwnd.c b/win32ss/user/user32/windows/defwnd.c index 9a2272d3c898..b7a624061e37 100644 --- a/win32ss/user/user32/windows/defwnd.c +++ b/win32ss/user/user32/windows/defwnd.c @@ -338,8 +338,11 @@ User32DefWindowProc(HWND hWnd, HMENU menu = GetSystemMenu(hWnd, FALSE); ERR("WM_POPUPSYSTEMMENU\n"); if (menu) + { + SetForegroundWindow(hWnd); TrackPopupMenu(menu, TPM_LEFTBUTTON|TPM_RIGHTBUTTON|TPM_SYSTEM_MENU, LOWORD(lParam), HIWORD(lParam), 0, hWnd, NULL); + } return 0; }