From: Rémi Bernon rbernon@codeweavers.com
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 +- 5 files changed, 17 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 b6ccc70faf1..e8530812b3d 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