"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "dlls/user32/message.c" between
wine-5.12.tar.xz and wine-5.13.tar.xz

About: Wine is an Open Source implementation of the MS Windows API on top of X, OpenGL, and Unix. Think of Wine as a compatibility layer for running Windows programs. Development release.

message.c  (wine-5.12.tar.xz):message.c  (wine-5.13.tar.xz)
skipping to change at line 2260 skipping to change at line 2260
MAKEWPARAM( event, idChild ), MAKELPARAM( pt.x, pt.y ) ); MAKEWPARAM( event, idChild ), MAKELPARAM( pt.x, pt.y ) );
} }
} }
/*********************************************************************** /***********************************************************************
* accept_hardware_message * accept_hardware_message
* *
* Tell the server we have passed the message to the app * Tell the server we have passed the message to the app
* (even though we may end up dropping it later on) * (even though we may end up dropping it later on)
*/ */
static void accept_hardware_message( UINT hw_id, BOOL remove ) static void accept_hardware_message( UINT hw_id )
{ {
SERVER_START_REQ( accept_hardware_message ) SERVER_START_REQ( accept_hardware_message )
{ {
req->hw_id = hw_id; req->hw_id = hw_id;
req->remove = remove;
if (wine_server_call( req )) if (wine_server_call( req ))
FIXME("Failed to reply to MSG_HARDWARE message. Message may not be r emoved from queue.\n"); FIXME("Failed to reply to MSG_HARDWARE message. Message may not be r emoved from queue.\n");
} }
SERVER_END_REQ; SERVER_END_REQ;
} }
static BOOL process_rawinput_message( MSG *msg, const struct hardware_msg_data * msg_data ) static BOOL process_rawinput_message( MSG *msg, UINT hw_id, const struct hardwar e_msg_data *msg_data )
{ {
RAWINPUT *rawinput = rawinput_thread_data(); struct rawinput_thread_data *thread_data = rawinput_thread_data();
if (!rawinput_from_hardware_message(rawinput, msg_data)) if (!rawinput_from_hardware_message( thread_data->buffer, msg_data ))
return FALSE; return FALSE;
msg->lParam = (LPARAM)rawinput; thread_data->hw_id = hw_id;
msg->lParam = (LPARAM)hw_id;
msg->pt = point_phys_to_win_dpi( msg->hwnd, msg->pt ); msg->pt = point_phys_to_win_dpi( msg->hwnd, msg->pt );
return TRUE; return TRUE;
} }
/*********************************************************************** /***********************************************************************
* process_keyboard_message * process_keyboard_message
* *
* returns TRUE if the contents of 'msg' should be passed to the application * returns TRUE if the contents of 'msg' should be passed to the application
*/ */
static BOOL process_keyboard_message( MSG *msg, UINT hw_id, HWND hwnd_filter, static BOOL process_keyboard_message( MSG *msg, UINT hw_id, HWND hwnd_filter,
skipping to change at line 2351 skipping to change at line 2351
if (msg->wParam == VK_APPS && !MENU_IsMenuActive()) if (msg->wParam == VK_APPS && !MENU_IsMenuActive())
PostMessageW(msg->hwnd, WM_CONTEXTMENU, (WPARAM)msg->hwnd, -1); PostMessageW(msg->hwnd, WM_CONTEXTMENU, (WPARAM)msg->hwnd, -1);
} }
} }
if (HOOK_CallHooks( WH_KEYBOARD, remove ? HC_ACTION : HC_NOREMOVE, if (HOOK_CallHooks( WH_KEYBOARD, remove ? HC_ACTION : HC_NOREMOVE,
LOWORD(msg->wParam), msg->lParam, TRUE )) LOWORD(msg->wParam), msg->lParam, TRUE ))
{ {
/* skip this message */ /* skip this message */
HOOK_CallHooks( WH_CBT, HCBT_KEYSKIPPED, LOWORD(msg->wParam), msg->lPara m, TRUE ); HOOK_CallHooks( WH_CBT, HCBT_KEYSKIPPED, LOWORD(msg->wParam), msg->lPara m, TRUE );
accept_hardware_message( hw_id, TRUE ); accept_hardware_message( hw_id );
return FALSE; return FALSE;
} }
accept_hardware_message( hw_id, remove ); if (remove) accept_hardware_message( hw_id );
msg->pt = point_phys_to_win_dpi( msg->hwnd, msg->pt ); msg->pt = point_phys_to_win_dpi( msg->hwnd, msg->pt );
if ( remove && msg->message == WM_KEYDOWN ) if ( remove && msg->message == WM_KEYDOWN )
if (ImmProcessKey(msg->hwnd, GetKeyboardLayout(0), msg->wParam, msg->lPa ram, 0) ) if (ImmProcessKey(msg->hwnd, GetKeyboardLayout(0), msg->wParam, msg->lPa ram, 0) )
msg->wParam = VK_PROCESSKEY; msg->wParam = VK_PROCESSKEY;
return TRUE; return TRUE;
} }
/*********************************************************************** /***********************************************************************
skipping to change at line 2408 skipping to change at line 2408
{ {
HWND next = GetWindow( orig, GW_HWNDNEXT ); HWND next = GetWindow( orig, GW_HWNDNEXT );
if (next && GetWindow( orig, GW_OWNER ) == next && WIN_IsCurrentThre ad( next )) if (next && GetWindow( orig, GW_OWNER ) == next && WIN_IsCurrentThre ad( next ))
msg->hwnd = WINPOS_WindowFromPoint( next, msg->pt, &hittest ); msg->hwnd = WINPOS_WindowFromPoint( next, msg->pt, &hittest );
} }
} }
if (!msg->hwnd || !WIN_IsCurrentThread( msg->hwnd )) if (!msg->hwnd || !WIN_IsCurrentThread( msg->hwnd ))
{ {
accept_hardware_message( hw_id, TRUE ); accept_hardware_message( hw_id );
return FALSE; return FALSE;
} }
msg->pt = point_phys_to_win_dpi( msg->hwnd, msg->pt ); msg->pt = point_phys_to_win_dpi( msg->hwnd, msg->pt );
SetThreadDpiAwarenessContext( GetWindowDpiAwarenessContext( msg->hwnd )); SetThreadDpiAwarenessContext( GetWindowDpiAwarenessContext( msg->hwnd ));
/* FIXME: is this really the right place for this hook? */ /* FIXME: is this really the right place for this hook? */
event.message = msg->message; event.message = msg->message;
event.time = msg->time; event.time = msg->time;
event.hwnd = msg->hwnd; event.hwnd = msg->hwnd;
skipping to change at line 2504 skipping to change at line 2504
hook.mouseData = msg->wParam; hook.mouseData = msg->wParam;
if (HOOK_CallHooks( WH_MOUSE, remove ? HC_ACTION : HC_NOREMOVE, if (HOOK_CallHooks( WH_MOUSE, remove ? HC_ACTION : HC_NOREMOVE,
message, (LPARAM)&hook, TRUE )) message, (LPARAM)&hook, TRUE ))
{ {
hook.s.pt = msg->pt; hook.s.pt = msg->pt;
hook.s.hwnd = msg->hwnd; hook.s.hwnd = msg->hwnd;
hook.s.wHitTestCode = hittest; hook.s.wHitTestCode = hittest;
hook.s.dwExtraInfo = extra_info; hook.s.dwExtraInfo = extra_info;
hook.mouseData = msg->wParam; hook.mouseData = msg->wParam;
HOOK_CallHooks( WH_CBT, HCBT_CLICKSKIPPED, message, (LPARAM)&hook, TRUE ); HOOK_CallHooks( WH_CBT, HCBT_CLICKSKIPPED, message, (LPARAM)&hook, TRUE );
accept_hardware_message( hw_id, TRUE ); accept_hardware_message( hw_id );
return FALSE; return FALSE;
} }
if ((hittest == HTERROR) || (hittest == HTNOWHERE)) if ((hittest == HTERROR) || (hittest == HTNOWHERE))
{ {
SendMessageW( msg->hwnd, WM_SETCURSOR, (WPARAM)msg->hwnd, SendMessageW( msg->hwnd, WM_SETCURSOR, (WPARAM)msg->hwnd,
MAKELONG( hittest, msg->message )); MAKELONG( hittest, msg->message ));
accept_hardware_message( hw_id, TRUE ); accept_hardware_message( hw_id );
return FALSE; return FALSE;
} }
accept_hardware_message( hw_id, remove ); if (remove) accept_hardware_message( hw_id );
if (!remove || info.hwndCapture) if (!remove || info.hwndCapture)
{ {
msg->message = message; msg->message = message;
return TRUE; return TRUE;
} }
eatMsg = FALSE; eatMsg = FALSE;
if ((msg->message == WM_LBUTTONDOWN) || if ((msg->message == WM_LBUTTONDOWN) ||
skipping to change at line 2597 skipping to change at line 2597
DPI_AWARENESS_CONTEXT context; DPI_AWARENESS_CONTEXT context;
BOOL ret = FALSE; BOOL ret = FALSE;
get_user_thread_info()->msg_source.deviceType = msg_data->source.device; get_user_thread_info()->msg_source.deviceType = msg_data->source.device;
get_user_thread_info()->msg_source.originId = msg_data->source.origin; get_user_thread_info()->msg_source.originId = msg_data->source.origin;
/* hardware messages are always in physical coords */ /* hardware messages are always in physical coords */
context = SetThreadDpiAwarenessContext( DPI_AWARENESS_CONTEXT_PER_MONITOR_AW ARE ); context = SetThreadDpiAwarenessContext( DPI_AWARENESS_CONTEXT_PER_MONITOR_AW ARE );
if (msg->message == WM_INPUT) if (msg->message == WM_INPUT)
ret = process_rawinput_message( msg, msg_data ); ret = process_rawinput_message( msg, hw_id, msg_data );
else if (is_keyboard_message( msg->message )) else if (is_keyboard_message( msg->message ))
ret = process_keyboard_message( msg, hw_id, hwnd_filter, first, last, re move ); ret = process_keyboard_message( msg, hw_id, hwnd_filter, first, last, re move );
else if (is_mouse_message( msg->message )) else if (is_mouse_message( msg->message ))
ret = process_mouse_message( msg, hw_id, msg_data->info, hwnd_filter, fi rst, last, remove ); ret = process_mouse_message( msg, hw_id, msg_data->info, hwnd_filter, fi rst, last, remove );
else else
ERR( "unknown message type %x\n", msg->message ); ERR( "unknown message type %x\n", msg->message );
SetThreadDpiAwarenessContext( context ); SetThreadDpiAwarenessContext( context );
return ret; return ret;
} }
 End of changes. 12 change blocks. 
14 lines changed or deleted 14 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)