user32: Use the correct top-level window when activating through a mouse click.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Alexandre Julliard 2017-09-01 09:15:44 +02:00
parent 6bf1b638cb
commit 3ab6174997

View file

@ -2637,14 +2637,9 @@ static BOOL process_mouse_message( MSG *msg, UINT hw_id, ULONG_PTR extra_info, H
if (msg->hwnd != info.hwndActive)
{
HWND hwndTop = msg->hwnd;
while (hwndTop)
{
if ((GetWindowLongW( hwndTop, GWL_STYLE ) & (WS_POPUP|WS_CHILD)) != WS_CHILD) break;
hwndTop = GetParent( hwndTop );
}
HWND hwndTop = GetAncestor( msg->hwnd, GA_ROOT );
if (hwndTop)
if ((GetWindowLongW( hwndTop, GWL_STYLE ) & (WS_POPUP|WS_CHILD)) != WS_CHILD)
{
LONG ret = SendMessageW( msg->hwnd, WM_MOUSEACTIVATE, (WPARAM)hwndTop,
MAKELONG( hittest, msg->message ) );