mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 18:15:11 +00:00
[EXPLORER] Mitigate CORE-15760 'system menu may close unexpectedly'
Looks like a race condition of the async part of SetForegroundWindow(). KVM https://reactos.org/testman/compare.php?ids=69065,69069 VBOX https://reactos.org/testman/compare.php?ids=69064,69068 I intend to merge that back into 0.4.12RC as well.
This commit is contained in:
parent
2ed695fc83
commit
d2976ca58e
1 changed files with 7 additions and 0 deletions
|
@ -1633,6 +1633,13 @@ public:
|
|||
|
||||
ActivateTask(TaskItem->hWnd);
|
||||
|
||||
/* Wait up to 2 seconds for the window to process the foreground notification. */
|
||||
DWORD_PTR resultDummy;
|
||||
if (!SendMessageTimeout(TaskItem->hWnd, WM_NULL, 0, 0, 0, 2000, &resultDummy))
|
||||
ERR("HandleTaskItemRightClick detected the window was unresponsive for 2 seconds, or was destroyed\n");
|
||||
if (GetForegroundWindow() != TaskItem->hWnd)
|
||||
ERR("HandleTaskItemRightClick detected the window did not become foreground\n");
|
||||
|
||||
::SendMessageW(TaskItem->hWnd, WM_POPUPSYSTEMMENU, 0, MAKELPARAM(pt.x, pt.y));
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue