mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-06 07:57:22 +00:00
win32u: Use user message packing for more messages passing string.
This commit is contained in:
parent
844177d517
commit
216979bd08
|
@ -877,7 +877,6 @@ BOOL unpack_message( HWND hwnd, UINT message, WPARAM *wparam, LPARAM *lparam,
|
|||
case EM_GETLINE:
|
||||
case EM_SETTABSTOPS:
|
||||
case LB_SETTABSTOPS:
|
||||
break;
|
||||
case CB_ADDSTRING:
|
||||
case CB_INSERTSTRING:
|
||||
case CB_FINDSTRING:
|
||||
|
@ -888,8 +887,6 @@ BOOL unpack_message( HWND hwnd, UINT message, WPARAM *wparam, LPARAM *lparam,
|
|||
case LB_FINDSTRING:
|
||||
case LB_FINDSTRINGEXACT:
|
||||
case LB_SELECTSTRING:
|
||||
if (!*buffer) return TRUE;
|
||||
if (!check_string( *buffer, size )) return FALSE;
|
||||
break;
|
||||
case CB_GETLBTEXT:
|
||||
{
|
||||
|
@ -1082,6 +1079,16 @@ BOOL WINAPI User32CallWindowProc( struct win_proc_params *params, ULONG size )
|
|||
case EM_GETLINE:
|
||||
case EM_SETTABSTOPS:
|
||||
case LB_SETTABSTOPS:
|
||||
case CB_ADDSTRING:
|
||||
case CB_INSERTSTRING:
|
||||
case CB_FINDSTRING:
|
||||
case CB_FINDSTRINGEXACT:
|
||||
case CB_SELECTSTRING:
|
||||
case LB_ADDSTRING:
|
||||
case LB_INSERTSTRING:
|
||||
case LB_FINDSTRING:
|
||||
case LB_FINDSTRINGEXACT:
|
||||
case LB_SELECTSTRING:
|
||||
{
|
||||
LRESULT *result_ptr = (LRESULT *)buffer - 1;
|
||||
*result_ptr = result;
|
||||
|
|
|
@ -599,6 +599,18 @@ static BOOL unpack_message( HWND hwnd, UINT message, WPARAM *wparam, LPARAM *lpa
|
|||
if (!*wparam) return TRUE;
|
||||
minsize = *wparam * sizeof(UINT);
|
||||
break;
|
||||
case CB_ADDSTRING:
|
||||
case CB_INSERTSTRING:
|
||||
case CB_FINDSTRING:
|
||||
case CB_FINDSTRINGEXACT:
|
||||
case CB_SELECTSTRING:
|
||||
case LB_ADDSTRING:
|
||||
case LB_INSERTSTRING:
|
||||
case LB_FINDSTRING:
|
||||
case LB_FINDSTRINGEXACT:
|
||||
case LB_SELECTSTRING:
|
||||
if (!*buffer) return TRUE;
|
||||
break;
|
||||
case WM_WINE_SETWINDOWPOS:
|
||||
{
|
||||
WINDOWPOS wp;
|
||||
|
@ -1356,6 +1368,16 @@ size_t user_message_size( UINT message, WPARAM wparam, LPARAM lparam, BOOL other
|
|||
case LB_DIR:
|
||||
case LB_ADDFILE:
|
||||
case EM_REPLACESEL:
|
||||
case CB_ADDSTRING:
|
||||
case CB_INSERTSTRING:
|
||||
case CB_FINDSTRING:
|
||||
case CB_FINDSTRINGEXACT:
|
||||
case CB_SELECTSTRING:
|
||||
case LB_ADDSTRING:
|
||||
case LB_INSERTSTRING:
|
||||
case LB_FINDSTRING:
|
||||
case LB_FINDSTRINGEXACT:
|
||||
case LB_SELECTSTRING:
|
||||
if (other_process && lparam) size = string_size( lparam_ptr, ansi );
|
||||
break;
|
||||
case WM_GETMINMAXINFO:
|
||||
|
|
|
@ -1907,6 +1907,9 @@ static void test_wndproc_hook(void)
|
|||
{ "LB_ADDFILE", LB_ADDFILE, .lparam = strbufW, .lparam_init_size = sizeof(strbufW) },
|
||||
{ "EM_REPLACESEL", EM_REPLACESEL, .lparam = strbufW, .lparam_init_size = sizeof(strbufW) },
|
||||
{ "WM_WININICHANGE", WM_WININICHANGE, .lparam = strbufW, .lparam_init_size = sizeof(strbufW) },
|
||||
{ "CB_ADDSTRING", CB_ADDSTRING },
|
||||
{ "CB_INSERTSTRING", CB_INSERTSTRING },
|
||||
{ "LB_ADDSTRING", LB_ADDSTRING },
|
||||
/* messages not allowed to be sent by NtUserMessageCall */
|
||||
{
|
||||
"WM_DRAWITEM", WM_DRAWITEM, .wparam = 10,
|
||||
|
|
Loading…
Reference in a new issue