Module: wine Branch: master Commit: 1f2e722877423dfe71694647d2bb3b822235b797 URL: https://gitlab.winehq.org/wine/wine/-/commit/1f2e722877423dfe71694647d2bb3b8...
Author: Rémi Bernon rbernon@codeweavers.com Date: Mon Dec 19 17:22:00 2022 +0100
win32u: Stub NtUserIsMouseInPointerEnabled syscall.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53847 Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51537
---
dlls/user32/tests/input.c | 10 ++++------ dlls/user32/user32.spec | 1 + dlls/win32u/input.c | 10 ++++++++++ dlls/win32u/syscall.c | 1 + dlls/win32u/win32u.spec | 2 +- dlls/wow64win/syscall.h | 1 + dlls/wow64win/user.c | 5 +++++ 7 files changed, 23 insertions(+), 7 deletions(-)
diff --git a/dlls/user32/tests/input.c b/dlls/user32/tests/input.c index 95abdbb601b..f8b40099091 100644 --- a/dlls/user32/tests/input.c +++ b/dlls/user32/tests/input.c @@ -4844,17 +4844,15 @@ static void test_EnableMouseInPointer_process( const char *arg ) ok( !ret, "EnableMouseInPointer succeeded\n" ); todo_wine ok( GetLastError() == ERROR_ACCESS_DENIED, "got error %lu\n", GetLastError() ); - if (!pIsMouseInPointerEnabled) ret = !enable; - else ret = pIsMouseInPointerEnabled(); - todo_wine_if(!pIsMouseInPointerEnabled) + ret = pIsMouseInPointerEnabled(); + todo_wine_if(enable) ok( ret == enable, "IsMouseInPointerEnabled returned %u, error %lu\n", ret, GetLastError() );
ret = pEnableMouseInPointer( enable ); todo_wine ok( ret, "EnableMouseInPointer failed, error %lu\n", GetLastError() ); - if (!pIsMouseInPointerEnabled) ret = !enable; - else ret = pIsMouseInPointerEnabled(); - todo_wine_if(!pIsMouseInPointerEnabled) + ret = pIsMouseInPointerEnabled(); + todo_wine_if(enable) ok( ret == enable, "IsMouseInPointerEnabled returned %u, error %lu\n", ret, GetLastError() );
test_GetPointerInfo( enable ); diff --git a/dlls/user32/user32.spec b/dlls/user32/user32.spec index f0e32c633d8..38462607ccd 100644 --- a/dlls/user32/user32.spec +++ b/dlls/user32/user32.spec @@ -475,6 +475,7 @@ # @ stub IsHungThread @ stdcall IsIconic(long) @ stdcall IsMenu(long) +@ stdcall IsMouseInPointerEnabled() NtUserIsMouseInPointerEnabled @ stdcall IsProcessDPIAware() @ stdcall IsRectEmpty(ptr) # @ stub IsServerSideWindow diff --git a/dlls/win32u/input.c b/dlls/win32u/input.c index 95362fbef1f..809bd7bbbc9 100644 --- a/dlls/win32u/input.c +++ b/dlls/win32u/input.c @@ -2164,6 +2164,16 @@ BOOL WINAPI NtUserEnableMouseInPointer( BOOL enable ) return FALSE; }
+/********************************************************************** + * NtUserIsMouseInPointerEnabled (win32u.@) + */ +BOOL WINAPI NtUserIsMouseInPointerEnabled(void) +{ + FIXME( "stub!\n" ); + RtlSetLastWin32Error( ERROR_CALL_NOT_IMPLEMENTED ); + return FALSE; +} +
HWND get_shell_window(void) { diff --git a/dlls/win32u/syscall.c b/dlls/win32u/syscall.c index a0fba9f8045..3e3c5aba58c 100644 --- a/dlls/win32u/syscall.c +++ b/dlls/win32u/syscall.c @@ -222,6 +222,7 @@ static void * const syscalls[] = NtUserInvalidateRect, NtUserInvalidateRgn, NtUserIsClipboardFormatAvailable, + NtUserIsMouseInPointerEnabled, NtUserKillTimer, NtUserLockWindowUpdate, NtUserLogicalToPerMonitorDPIPhysicalPoint, diff --git a/dlls/win32u/win32u.spec b/dlls/win32u/win32u.spec index 6f3b2c31577..0c4d4a3971d 100644 --- a/dlls/win32u/win32u.spec +++ b/dlls/win32u/win32u.spec @@ -1051,7 +1051,7 @@ @ stdcall -syscall NtUserInvalidateRgn(long long long) @ stub NtUserIsChildWindowDpiMessageEnabled @ stdcall -syscall NtUserIsClipboardFormatAvailable(long) -@ stub NtUserIsMouseInPointerEnabled +@ stdcall -syscall NtUserIsMouseInPointerEnabled() @ stub NtUserIsMouseInputEnabled @ stub NtUserIsNonClientDpiScalingEnabled @ stub NtUserIsResizeLayoutSynchronizationEnabled diff --git a/dlls/wow64win/syscall.h b/dlls/wow64win/syscall.h index 5c5de66cd3c..ca491f2a6b1 100644 --- a/dlls/wow64win/syscall.h +++ b/dlls/wow64win/syscall.h @@ -208,6 +208,7 @@ SYSCALL_ENTRY( NtUserInvalidateRect ) \ SYSCALL_ENTRY( NtUserInvalidateRgn ) \ SYSCALL_ENTRY( NtUserIsClipboardFormatAvailable ) \ + SYSCALL_ENTRY( NtUserIsMouseInPointerEnabled ) \ SYSCALL_ENTRY( NtUserKillTimer ) \ SYSCALL_ENTRY( NtUserLockWindowUpdate ) \ SYSCALL_ENTRY( NtUserLogicalToPerMonitorDPIPhysicalPoint ) \ diff --git a/dlls/wow64win/user.c b/dlls/wow64win/user.c index 5520a28a018..7afd0ca0ffe 100644 --- a/dlls/wow64win/user.c +++ b/dlls/wow64win/user.c @@ -2731,6 +2731,11 @@ NTSTATUS WINAPI wow64_NtUserIsClipboardFormatAvailable( UINT *args ) return NtUserIsClipboardFormatAvailable( format ); }
+NTSTATUS WINAPI wow64_NtUserIsMouseInPointerEnabled( UINT *args ) +{ + return NtUserIsMouseInPointerEnabled(); +} + NTSTATUS WINAPI wow64_NtUserKillTimer( UINT *args ) { HWND hwnd = get_handle( &args );