[PATCH 0/2] MR6775: user32: Add EnableMouseInPointerForThread() stub.
React Native apps use user32.2561. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/6775
From: Zhiyi Zhang <zzhang(a)codeweavers.com> React Native apps use user32.2561. --- dlls/user32/user32.spec | 1 + dlls/win32u/input.c | 10 ++++++++++ dlls/win32u/win32u.spec | 1 + dlls/wow64win/user.c | 5 +++++ include/ntuser.h | 1 + 5 files changed, 18 insertions(+) diff --git a/dlls/user32/user32.spec b/dlls/user32/user32.spec index 222ba86f035..374830b3fc9 100644 --- a/dlls/user32/user32.spec +++ b/dlls/user32/user32.spec @@ -208,6 +208,7 @@ @ stdcall EmptyClipboard() NtUserEmptyClipboard @ stdcall EnableMenuItem(long long long) NtUserEnableMenuItem @ stdcall EnableMouseInPointer(long) NtUserEnableMouseInPointer +2561 stdcall EnableMouseInPointerForThread() NtUserEnableMouseInPointerForThread @ stdcall EnableNonClientDpiScaling(long) @ stdcall -import EnableScrollBar(long long long) NtUserEnableScrollBar @ stdcall EnableWindow(long long) diff --git a/dlls/win32u/input.c b/dlls/win32u/input.c index c976b57b39f..76260cbf1c5 100644 --- a/dlls/win32u/input.c +++ b/dlls/win32u/input.c @@ -2508,6 +2508,16 @@ BOOL WINAPI NtUserEnableMouseInPointer( BOOL enable ) return FALSE; } +/********************************************************************** + * NtUserEnableMouseInPointerForThread (win32u.@) + */ +BOOL WINAPI NtUserEnableMouseInPointerForThread( void ) +{ + FIXME( "stub!\n" ); + RtlSetLastWin32Error( ERROR_CALL_NOT_IMPLEMENTED ); + return FALSE; +} + /********************************************************************** * NtUserIsMouseInPointerEnabled (win32u.@) */ diff --git a/dlls/win32u/win32u.spec b/dlls/win32u/win32u.spec index 572c0274c91..f8c98593b57 100644 --- a/dlls/win32u/win32u.spec +++ b/dlls/win32u/win32u.spec @@ -865,6 +865,7 @@ @ stub NtUserEnableIAMAccess @ stdcall -syscall NtUserEnableMenuItem(long long long) @ stdcall -syscall NtUserEnableMouseInPointer(long) +@ stdcall -syscall NtUserEnableMouseInPointerForThread() @ stub NtUserEnableMouseInPointerForWindow @ stub NtUserEnableMouseInputForCursorSuppression @ stub NtUserEnableNonClientDpiScaling diff --git a/dlls/wow64win/user.c b/dlls/wow64win/user.c index 3685ed73bd0..41676d03779 100644 --- a/dlls/wow64win/user.c +++ b/dlls/wow64win/user.c @@ -2122,6 +2122,11 @@ NTSTATUS WINAPI wow64_NtUserEnableMouseInPointer( UINT *args ) return NtUserEnableMouseInPointer( enable ); } +NTSTATUS WINAPI wow64_NtUserEnableMouseInPointerForThread( UINT *args ) +{ + return NtUserEnableMouseInPointerForThread(); +} + NTSTATUS WINAPI wow64_NtUserEnableScrollBar( UINT *args ) { HWND hwnd = get_handle( &args ); diff --git a/include/ntuser.h b/include/ntuser.h index a82dead4ef4..239087586ea 100644 --- a/include/ntuser.h +++ b/include/ntuser.h @@ -690,6 +690,7 @@ W32KAPI DWORD WINAPI NtUserDrawMenuBarTemp( HWND hwnd, HDC hdc, RECT *rect, HM W32KAPI BOOL WINAPI NtUserEmptyClipboard(void); W32KAPI BOOL WINAPI NtUserEnableMenuItem( HMENU handle, UINT id, UINT flags ); W32KAPI BOOL WINAPI NtUserEnableMouseInPointer( BOOL ); +W32KAPI BOOL WINAPI NtUserEnableMouseInPointerForThread(void); W32KAPI BOOL WINAPI NtUserEnableScrollBar( HWND hwnd, UINT bar, UINT flags ); W32KAPI BOOL WINAPI NtUserEndDeferWindowPosEx( HDWP hdwp, BOOL async ); W32KAPI BOOL WINAPI NtUserEndMenu(void); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/6775
From: Zhiyi Zhang <zzhang(a)codeweavers.com> React Native apps use api-ms-win-rtcore-ntuser-private-l1-1-1.dll.2546. --- dlls/user32/user32.spec | 1 + dlls/win32u/input.c | 10 ++++++++++ dlls/win32u/win32u.spec | 2 +- dlls/wow64win/user.c | 7 +++++++ include/ntuser.h | 1 + 5 files changed, 20 insertions(+), 1 deletion(-) diff --git a/dlls/user32/user32.spec b/dlls/user32/user32.spec index 374830b3fc9..20334987028 100644 --- a/dlls/user32/user32.spec +++ b/dlls/user32/user32.spec @@ -813,6 +813,7 @@ # @ stub UserLpkTabbedTextOut @ stdcall UserRealizePalette(long) @ stdcall UserRegisterWowHandlers(ptr ptr) +2546 stdcall RegisterTouchPadCapable(long) NtUserRegisterTouchPadCapable # @ stub UserSetDeviceHoldState @ stdcall UserSignalProc(long long long long) # @ stub VRipOutput diff --git a/dlls/win32u/input.c b/dlls/win32u/input.c index 76260cbf1c5..37d57a5787a 100644 --- a/dlls/win32u/input.c +++ b/dlls/win32u/input.c @@ -2685,3 +2685,13 @@ BOOL WINAPI NtUserClipCursor( const RECT *rect ) return ret; } + +/********************************************************************** + * NtUserRegisterTouchPadCapable (win32u.@) + */ +BOOL WINAPI NtUserRegisterTouchPadCapable( BOOL capable ) +{ + FIXME( "capable %u stub!\n", capable ); + RtlSetLastWin32Error( ERROR_CALL_NOT_IMPLEMENTED ); + return FALSE; +} diff --git a/dlls/win32u/win32u.spec b/dlls/win32u/win32u.spec index f8c98593b57..fbc2446f9f2 100644 --- a/dlls/win32u/win32u.spec +++ b/dlls/win32u/win32u.spec @@ -1140,7 +1140,7 @@ @ stub NtUserRegisterShellPTPListener @ stub NtUserRegisterTasklist @ stub NtUserRegisterTouchHitTestingWindow -@ stub NtUserRegisterTouchPadCapable +@ stdcall -syscall NtUserRegisterTouchPadCapable(long) @ stub NtUserRegisterUserApiHook @ stub NtUserRegisterWindowMessage @ stdcall -syscall NtUserReleaseDC(long long) diff --git a/dlls/wow64win/user.c b/dlls/wow64win/user.c index 41676d03779..d3ce41b02d2 100644 --- a/dlls/wow64win/user.c +++ b/dlls/wow64win/user.c @@ -3920,6 +3920,13 @@ NTSTATUS WINAPI wow64_NtUserRegisterRawInputDevices( UINT *args ) return NtUserRegisterRawInputDevices( devices64, count, sizeof(*devices64) ); } +NTSTATUS WINAPI wow64_NtUserRegisterTouchPadCapable( UINT *args ) +{ + UINT capable = get_ulong( &args ); + + return NtUserRegisterTouchPadCapable( capable ); +} + NTSTATUS WINAPI wow64_NtUserReleaseDC( UINT *args ) { HWND hwnd = get_handle( &args ); diff --git a/include/ntuser.h b/include/ntuser.h index 239087586ea..b67d471457f 100644 --- a/include/ntuser.h +++ b/include/ntuser.h @@ -816,6 +816,7 @@ W32KAPI ATOM WINAPI NtUserRegisterClassExWOW( const WNDCLASSEXW *wc, UNICODE_ DWORD *wow ); W32KAPI BOOL WINAPI NtUserRegisterHotKey( HWND hwnd, INT id, UINT modifiers, UINT vk ); W32KAPI BOOL WINAPI NtUserRegisterRawInputDevices( const RAWINPUTDEVICE *devices, UINT device_count, UINT size ); +W32KAPI BOOL WINAPI NtUserRegisterTouchPadCapable( BOOL capable ); W32KAPI INT WINAPI NtUserReleaseDC( HWND hwnd, HDC hdc ); W32KAPI BOOL WINAPI NtUserRemoveClipboardFormatListener( HWND hwnd ); W32KAPI BOOL WINAPI NtUserRemoveMenu( HMENU menu, UINT id, UINT flags ); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/6775
Hi, It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated. The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=149477 Your paranoid android. === debian11 (build log) === /usr/bin/i686-w64-mingw32-ld: tmp674f5d50/win32u-00000000.spec.o:fake:(.edata+0xdb4): undefined reference to `NtUserEnableMouseInPointerForThread(a)0' /usr/bin/i686-w64-mingw32-ld: tmp674f5d50/win32u-00000000.spec.o:fake:(.edata+0x1200): undefined reference to `NtUserRegisterTouchPadCapable(a)4' collect2: error: ld returned 1 exit status Task: The win32 Wine build failed === debian11b (build log) === /usr/bin/x86_64-w64-mingw32-ld: tmp6734a1b6/win32u-00000000.spec.o:fake:(.edata+0xdb0): undefined reference to `NtUserEnableMouseInPointerForThread' /usr/bin/x86_64-w64-mingw32-ld: tmp6734a1b6/win32u-00000000.spec.o:fake:(.edata+0x11fc): undefined reference to `NtUserRegisterTouchPadCapable' collect2: error: ld returned 1 exit status Task: The wow64 Wine build failed
participants (3)
-
Marvin -
Zhiyi Zhang -
Zhiyi Zhang (@zhiyi)