[PATCH 2/2] user32: Process internal messages before changing active window.

Rémi Bernon rbernon at codeweavers.com
Wed Jan 22 11:44:11 CST 2020


On 1/22/20 6:38 PM, Rémi Bernon wrote:
> diff --git a/dlls/user32/message.c b/dlls/user32/message.c
> index 1336865112a..84de851085b 100644
> --- a/dlls/user32/message.c
> +++ b/dlls/user32/message.c
> @@ -1874,7 +1874,7 @@ static LRESULT handle_internal_message( HWND hwnd, UINT msg, WPARAM wparam, LPAR
>           return WIN_SetStyle(hwnd, wparam, lparam);
>       case WM_WINE_SETACTIVEWINDOW:
>           if (!wparam && GetForegroundWindow() == hwnd) return 0;
> -        return (LRESULT)SetActiveWindow( (HWND)wparam );
> +        return (LRESULT)set_active_window( (HWND)wparam, NULL, lparam, TRUE, TRUE );
>       case WM_WINE_KEYBOARD_LL_HOOK:
>       case WM_WINE_MOUSE_LL_HOOK:
>       {

I replaced SetActiveWindow with the internal function here, I'm not 
entirely sure if the WIN_GetFullHandle call / child window logic that is 
in SetActiveWindow was actually needed here or not, if someone knows better.
-- 
Rémi Bernon <rbernon at codeweavers.com>



More information about the wine-devel mailing list