Commit b4a5556d authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

user32: Always use original parameter values in dispatch_send_message.

parent cdcd773e
......@@ -588,7 +588,7 @@ LRESULT WINAPI SendMessageTimeoutA( HWND hwnd, UINT msg, WPARAM wparam, LPARAM l
}
static LRESULT dispatch_send_message( struct win_proc_params *params )
static LRESULT dispatch_send_message( struct win_proc_params *params, WPARAM wparam, LPARAM lparam )
{
struct ntuser_thread_info *thread_info = NtUserGetThreadInfo();
INPUT_MESSAGE_SOURCE prev_source = thread_info->msg_source;
......@@ -596,6 +596,10 @@ static LRESULT dispatch_send_message( struct win_proc_params *params )
static const INPUT_MESSAGE_SOURCE msg_source_unavailable = { IMDT_UNAVAILABLE, IMO_UNAVAILABLE };
/* params may contain arguments modified by wow, use original parameters instead */
params->wparam = wparam;
params->lparam = lparam;
thread_info->recursion_count++;
params->result = &retval;
......@@ -621,7 +625,7 @@ LRESULT WINAPI SendMessageW( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam )
params.hwnd = 0;
retval = NtUserMessageCall( hwnd, msg, wparam, lparam, &params, NtUserSendMessage, FALSE );
if (params.hwnd) retval = dispatch_send_message( &params );
if (params.hwnd) retval = dispatch_send_message( &params, wparam, lparam );
return retval;
}
......@@ -643,7 +647,7 @@ LRESULT WINAPI SendMessageA( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam )
params.hwnd = 0;
retval = NtUserMessageCall( hwnd, msg, wparam, lparam, &params, NtUserSendMessage, TRUE );
if (params.hwnd) retval = dispatch_send_message( &params );
if (params.hwnd) retval = dispatch_send_message( &params, wparam, lparam );
return retval;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment