Module: wine Branch: master Commit: 894d728b7e29e3338b30014fb185bda49df134c2 URL: https://gitlab.winehq.org/wine/wine/-/commit/894d728b7e29e3338b30014fb185bda...
Author: Jacek Caban jacek@codeweavers.com Date: Sun Aug 14 18:13:42 2022 +0200
win32u: Use a separate helper to send messages from win32u.
---
dlls/win32u/clipboard.c | 4 ++-- dlls/win32u/input.c | 2 +- dlls/win32u/message.c | 22 +++++++++++++++------- dlls/win32u/palette.c | 2 +- dlls/win32u/sysparams.c | 4 ++-- dlls/win32u/win32u_private.h | 2 +- 6 files changed, 22 insertions(+), 14 deletions(-)
diff --git a/dlls/win32u/clipboard.c b/dlls/win32u/clipboard.c index d91d4339493..dfc0b629763 100644 --- a/dlls/win32u/clipboard.c +++ b/dlls/win32u/clipboard.c @@ -232,8 +232,8 @@ BOOL WINAPI NtUserEmptyClipboard(void)
TRACE( "owner %p\n", owner );
- if (owner) send_message_timeout( owner, WM_DESTROYCLIPBOARD, 0, 0, SMTO_ABORTIFHUNG, - 5000, NULL, FALSE ); + if (owner) + send_message_timeout( owner, WM_DESTROYCLIPBOARD, 0, 0, SMTO_ABORTIFHUNG, 5000, FALSE );
pthread_mutex_lock( &clipboard_mutex );
diff --git a/dlls/win32u/input.c b/dlls/win32u/input.c index 19233af4418..1344ab997cd 100644 --- a/dlls/win32u/input.c +++ b/dlls/win32u/input.c @@ -1636,7 +1636,7 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus ) /* send palette messages */ if (send_message( hwnd, WM_QUERYNEWPALETTE, 0, 0 )) send_message_timeout( HWND_BROADCAST, WM_PALETTEISCHANGING, (WPARAM)hwnd, 0, - SMTO_ABORTIFHUNG, 2000, NULL, FALSE ); + SMTO_ABORTIFHUNG, 2000, FALSE ); if (!is_window(hwnd)) return FALSE; }
diff --git a/dlls/win32u/message.c b/dlls/win32u/message.c index b0c444f5407..f1ff3da2cd6 100644 --- a/dlls/win32u/message.c +++ b/dlls/win32u/message.c @@ -2609,11 +2609,11 @@ static BOOL broadcast_message( struct send_message_info *info, DWORD_PTR *res_pt { case MSG_UNICODE: send_message_timeout( list[i], info->msg, info->wparam, info->lparam, - info->flags, info->timeout, NULL, FALSE ); + info->flags, info->timeout, FALSE ); break; case MSG_ASCII: send_message_timeout( list[i], info->msg, info->wparam, info->lparam, - info->flags, info->timeout, NULL, TRUE ); + info->flags, info->timeout, TRUE ); break; case MSG_NOTIFY: NtUserMessageCall( list[i], info->msg, info->wparam, info->lparam, @@ -2810,8 +2810,8 @@ static LRESULT send_window_message( HWND hwnd, UINT msg, WPARAM wparam, LPARAM l }
/* see SendMessageTimeoutW */ -LRESULT send_message_timeout( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam, - UINT flags, UINT timeout, DWORD_PTR *res_ptr, BOOL ansi ) +static LRESULT send_client_message( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam, + UINT flags, UINT timeout, DWORD_PTR *res_ptr, BOOL ansi ) { struct send_message_info info;
@@ -2828,10 +2828,18 @@ LRESULT send_message_timeout( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam, return process_message( &info, res_ptr, ansi ); }
+LRESULT send_message_timeout( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam, + UINT flags, UINT timeout, BOOL ansi ) +{ + DWORD_PTR res = 0; + send_client_message( hwnd, msg, wparam, lparam, flags, timeout, &res, ansi ); + return res; +} + /* see SendMessageW */ LRESULT send_message( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam ) { - return send_window_message( hwnd, msg, wparam, lparam, NULL, FALSE ); + return send_message_timeout( hwnd, msg, wparam, lparam, SMTO_NORMAL, 0, FALSE ); }
/* see SendNotifyMessageW */ @@ -2971,8 +2979,8 @@ LRESULT WINAPI NtUserMessageCall( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lpa { struct send_message_timeout_params *params = (void *)result_info; DWORD_PTR res = 0; - params->result = send_message_timeout( hwnd, msg, wparam, lparam, params->flags, - params->timeout, &res, ansi ); + params->result = send_client_message( hwnd, msg, wparam, lparam, params->flags, + params->timeout, &res, ansi ); return res; }
diff --git a/dlls/win32u/palette.c b/dlls/win32u/palette.c index 217a96bb027..e8fd51dba22 100644 --- a/dlls/win32u/palette.c +++ b/dlls/win32u/palette.c @@ -584,7 +584,7 @@ UINT realize_palette( HDC hdc ) /* send palette change notification */ HWND hwnd = NtUserWindowFromDC( hdc ); if (hwnd) send_message_timeout( HWND_BROADCAST, WM_PALETTECHANGED, HandleToUlong(hwnd), 0, - SMTO_ABORTIFHUNG, 2000, NULL, FALSE ); + SMTO_ABORTIFHUNG, 2000, FALSE ); } return realized; } diff --git a/dlls/win32u/sysparams.c b/dlls/win32u/sysparams.c index 99495349246..52665f7a641 100644 --- a/dlls/win32u/sysparams.c +++ b/dlls/win32u/sysparams.c @@ -4397,7 +4397,7 @@ BOOL WINAPI NtUserSystemParametersInfo( UINT action, UINT val, void *ptr, UINT w static const WCHAR emptyW[1]; if (winini & (SPIF_SENDWININICHANGE | SPIF_SENDCHANGE)) send_message_timeout( HWND_BROADCAST, WM_SETTINGCHANGE, action, (LPARAM) emptyW, - SMTO_ABORTIFHUNG, 2000, NULL, FALSE ); + SMTO_ABORTIFHUNG, 2000, FALSE ); } TRACE( "(%u, %u, %p, %u) ret %d\n", action, val, ptr, winini, ret ); return ret; @@ -4840,7 +4840,7 @@ BOOL WINAPI NtUserSetSysColors( INT count, const INT *colors, const COLORREF *va
/* Send WM_SYSCOLORCHANGE message to all windows */ send_message_timeout( HWND_BROADCAST, WM_SYSCOLORCHANGE, 0, 0, - SMTO_ABORTIFHUNG, 2000, NULL, FALSE ); + SMTO_ABORTIFHUNG, 2000, FALSE ); /* Repaint affected portions of all visible windows */ NtUserRedrawWindow( 0, NULL, 0, RDW_INVALIDATE | RDW_ERASE | RDW_UPDATENOW | RDW_ALLCHILDREN ); return TRUE; diff --git a/dlls/win32u/win32u_private.h b/dlls/win32u/win32u_private.h index ba6479a5426..a243afd668c 100644 --- a/dlls/win32u/win32u_private.h +++ b/dlls/win32u/win32u_private.h @@ -308,7 +308,7 @@ extern LRESULT send_internal_message_timeout( DWORD dest_pid, DWORD dest_tid, UI PDWORD_PTR res_ptr ) DECLSPEC_HIDDEN; extern LRESULT send_message( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam ) DECLSPEC_HIDDEN; extern LRESULT send_message_timeout( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam, - UINT flags, UINT timeout, PDWORD_PTR res_ptr, BOOL ansi ); + UINT flags, UINT timeout, BOOL ansi );
/* rawinput.c */ extern BOOL process_rawinput_message( MSG *msg, UINT hw_id, const struct hardware_msg_data *msg_data ) DECLSPEC_HIDDEN;