Module: wine Branch: master Commit: 0d6d8f388aea4889a79a913fea7c10b1056ffdd2 URL: https://gitlab.winehq.org/wine/wine/-/commit/0d6d8f388aea4889a79a913fea7c10b...
Author: Jacek Caban jacek@codeweavers.com Date: Sat Jul 9 18:01:02 2022 +0200
win32u: Use syscall interface for NtUserGetMessage.
---
dlls/win32u/gdiobj.c | 1 - dlls/win32u/syscall.c | 1 + dlls/win32u/win32u.spec | 2 +- dlls/win32u/win32u_private.h | 1 - dlls/win32u/wrappers.c | 6 ------ dlls/wow64win/syscall.h | 1 + dlls/wow64win/user.c | 13 +++++++++++++ 7 files changed, 16 insertions(+), 9 deletions(-)
diff --git a/dlls/win32u/gdiobj.c b/dlls/win32u/gdiobj.c index b20e3a7ddbb..a7bb62f29aa 100644 --- a/dlls/win32u/gdiobj.c +++ b/dlls/win32u/gdiobj.c @@ -1180,7 +1180,6 @@ static struct unix_funcs unix_funcs = NtUserGetKeyNameText, NtUserGetKeyboardLayoutList, NtUserGetMenuBarInfo, - NtUserGetMessage, NtUserGetPriorityClipboardFormat, NtUserGetQueueStatus, NtUserGetScrollBarInfo, diff --git a/dlls/win32u/syscall.c b/dlls/win32u/syscall.c index eeebf521bc2..a181c07402a 100644 --- a/dlls/win32u/syscall.c +++ b/dlls/win32u/syscall.c @@ -143,6 +143,7 @@ static void * const syscalls[] = NtUserGetKeyboardState, NtUserGetLayeredWindowAttributes, NtUserGetMenuItemRect, + NtUserGetMessage, NtUserGetMouseMovePointsEx, NtUserGetObjectInformation, NtUserGetOpenClipboardWindow, diff --git a/dlls/win32u/win32u.spec b/dlls/win32u/win32u.spec index 83de1ab87c8..6ba3d5492e7 100644 --- a/dlls/win32u/win32u.spec +++ b/dlls/win32u/win32u.spec @@ -955,7 +955,7 @@ @ stdcall NtUserGetMenuBarInfo(long long long ptr) @ stub NtUserGetMenuIndex @ stdcall -syscall NtUserGetMenuItemRect(long long long ptr) -@ stdcall NtUserGetMessage(ptr long long long) +@ stdcall -syscall NtUserGetMessage(ptr long long long) @ stdcall -syscall NtUserGetMouseMovePointsEx(long ptr ptr long long) @ stdcall -syscall NtUserGetObjectInformation(long long long long ptr) @ stub NtUserGetOemBitmapSize diff --git a/dlls/win32u/win32u_private.h b/dlls/win32u/win32u_private.h index bdc8235a831..74fb4f4b088 100644 --- a/dlls/win32u/win32u_private.h +++ b/dlls/win32u/win32u_private.h @@ -244,7 +244,6 @@ struct unix_funcs INT (WINAPI *pNtUserGetKeyNameText)( LONG lparam, WCHAR *buffer, INT size ); UINT (WINAPI *pNtUserGetKeyboardLayoutList)( INT size, HKL *layouts ); BOOL (WINAPI *pNtUserGetMenuBarInfo)( HWND hwnd, LONG id, LONG item, MENUBARINFO *info ); - BOOL (WINAPI *pNtUserGetMessage)( MSG *msg, HWND hwnd, UINT first, UINT last ); INT (WINAPI *pNtUserGetPriorityClipboardFormat)( UINT *list, INT count ); DWORD (WINAPI *pNtUserGetQueueStatus)( UINT flags ); BOOL (WINAPI *pNtUserGetScrollBarInfo)( HWND hwnd, LONG id, SCROLLBARINFO *info ); diff --git a/dlls/win32u/wrappers.c b/dlls/win32u/wrappers.c index 923254dcf96..ed7b24a1f5f 100644 --- a/dlls/win32u/wrappers.c +++ b/dlls/win32u/wrappers.c @@ -1000,12 +1000,6 @@ BOOL WINAPI NtUserGetMenuBarInfo( HWND hwnd, LONG id, LONG item, MENUBARINFO *in return unix_funcs->pNtUserGetMenuBarInfo( hwnd, id, item, info ); }
-BOOL WINAPI NtUserGetMessage( MSG *msg, HWND hwnd, UINT first, UINT last ) -{ - if (!unix_funcs) return FALSE; - return unix_funcs->pNtUserGetMessage( msg, hwnd, first, last ); -} - HMENU WINAPI NtUserGetSystemMenu( HWND hwnd, BOOL revert ) { if (!unix_funcs) return 0; diff --git a/dlls/wow64win/syscall.h b/dlls/wow64win/syscall.h index 937abaf8b3b..2955b4105d6 100644 --- a/dlls/wow64win/syscall.h +++ b/dlls/wow64win/syscall.h @@ -130,6 +130,7 @@ SYSCALL_ENTRY( NtUserGetKeyboardState ) \ SYSCALL_ENTRY( NtUserGetLayeredWindowAttributes ) \ SYSCALL_ENTRY( NtUserGetMenuItemRect ) \ + SYSCALL_ENTRY( NtUserGetMessage ) \ SYSCALL_ENTRY( NtUserGetMouseMovePointsEx ) \ SYSCALL_ENTRY( NtUserGetObjectInformation ) \ SYSCALL_ENTRY( NtUserGetOpenClipboardWindow ) \ diff --git a/dlls/wow64win/user.c b/dlls/wow64win/user.c index be91b830e7a..b0a7f93df41 100644 --- a/dlls/wow64win/user.c +++ b/dlls/wow64win/user.c @@ -519,6 +519,19 @@ NTSTATUS WINAPI wow64_NtUserGetMenuItemRect( UINT *args ) return NtUserGetMenuItemRect( hwnd, handle, item, rect ); }
+NTSTATUS WINAPI wow64_NtUserGetMessage( UINT *args ) +{ + MSG32 *msg32 = get_ptr( &args ); + HWND hwnd = get_handle( &args ); + UINT first = get_ulong( &args ); + UINT last = get_ulong( &args ); + MSG msg; + + if (!NtUserGetMessage( &msg, hwnd, first, last )) return FALSE; + msg_64to32( &msg, msg32 ); + return TRUE; +} + NTSTATUS WINAPI wow64_NtUserGetMouseMovePointsEx( UINT *args ) { UINT size = get_ulong( &args );