From: Rémi Bernon rbernon@codeweavers.com
--- dlls/win32u/tests/win32u.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)
diff --git a/dlls/win32u/tests/win32u.c b/dlls/win32u/tests/win32u.c index 3b528b526a4..f0c53020959 100644 --- a/dlls/win32u/tests/win32u.c +++ b/dlls/win32u/tests/win32u.c @@ -24,6 +24,7 @@ #include "winbase.h" #include "ntuser.h"
+static BOOL (WINAPI *pNtUserIsMouseInPointerEnabled)(void); static BOOL (WINAPI *pNtUserEnableMouseInPointer)( BOOL );
static void test_NtUserEnumDisplayDevices(void) @@ -705,10 +706,23 @@ static void test_NtUserEnableMouseInPointer_process( const char *arg ) if (is_wine) pNtUserEnableMouseInPointer = NULL; else pNtUserEnableMouseInPointer = (void *)GetProcAddress( win32u, "NtUserEnableMouseInPointer" );
+ /* FIXME: avoid crashing on stub call */ + if (is_wine) pNtUserIsMouseInPointerEnabled = NULL; + else pNtUserIsMouseInPointerEnabled = (void *)GetProcAddress( win32u, "NtUserIsMouseInPointerEnabled" ); + + if (!pNtUserIsMouseInPointerEnabled) ret = TRUE; + else ret = pNtUserIsMouseInPointerEnabled(); + todo_wine_if(!pNtUserIsMouseInPointerEnabled) + ok( ret == FALSE, "NtUserIsMouseInPointerEnabled returned %u, error %lu\n", ret, GetLastError() ); + if (!pNtUserEnableMouseInPointer) ret = FALSE; else ret = pNtUserEnableMouseInPointer( enable ); todo_wine_if(!pNtUserEnableMouseInPointer) ok( ret, "NtUserEnableMouseInPointer failed, error %lu\n", GetLastError() ); + if (!pNtUserIsMouseInPointerEnabled) ret = !enable; + else ret = pNtUserIsMouseInPointerEnabled(); + todo_wine_if(!pNtUserIsMouseInPointerEnabled) + ok( ret == enable, "NtUserIsMouseInPointerEnabled returned %u, error %lu\n", ret, GetLastError() );
SetLastError( 0xdeadbeef ); if (!pNtUserEnableMouseInPointer) ret = TRUE; @@ -717,11 +731,19 @@ static void test_NtUserEnableMouseInPointer_process( const char *arg ) ok( !ret, "NtUserEnableMouseInPointer succeeded\n" ); todo_wine_if(!pNtUserEnableMouseInPointer) ok( GetLastError() == ERROR_ACCESS_DENIED, "got error %lu\n", GetLastError() ); + if (!pNtUserIsMouseInPointerEnabled) ret = !enable; + else ret = pNtUserIsMouseInPointerEnabled(); + todo_wine_if(!pNtUserIsMouseInPointerEnabled) + ok( ret == enable, "NtUserIsMouseInPointerEnabled returned %u, error %lu\n", ret, GetLastError() );
if (!pNtUserEnableMouseInPointer) ret = FALSE; else ret = pNtUserEnableMouseInPointer( enable ); todo_wine_if(!pNtUserEnableMouseInPointer) ok( ret, "NtUserEnableMouseInPointer failed, error %lu\n", GetLastError() ); + if (!pNtUserIsMouseInPointerEnabled) ret = !enable; + else ret = pNtUserIsMouseInPointerEnabled(); + todo_wine_if(!pNtUserIsMouseInPointerEnabled) + ok( ret == enable, "NtUserIsMouseInPointerEnabled returned %u, error %lu\n", ret, GetLastError() ); }
static void test_NtUserEnableMouseInPointer( char **argv, BOOL enable )