From: Zhiyi Zhang <zzhang@codeweavers.com> --- dlls/user32/input.c | 10 ++++++++++ dlls/user32/tests/input.c | 8 ++++++-- dlls/user32/user32.spec | 2 +- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/dlls/user32/input.c b/dlls/user32/input.c index fb773d1a9f7..a6837657c5a 100644 --- a/dlls/user32/input.c +++ b/dlls/user32/input.c @@ -859,3 +859,13 @@ BOOL WINAPI DelegateInput(void *p1, void *p2, void *p3, void *p4, void *p5, void FIXME( "p1 %p p2 %p p3 %p p4 %p p5 %p p6 %p stub!\n", p1, p2, p3, p4, p5, p6 ); return TRUE; } + +/*********************************************************************** + * UndelegateInput (USER32.@) + * + * Undocumented. Function prototype might be wrong. + */ +void WINAPI UndelegateInput(void *p1, void *p2) +{ + FIXME( "p1 %p p2 %p stub!\n", p1, p2 ); +} diff --git a/dlls/user32/tests/input.c b/dlls/user32/tests/input.c index 43ccda38fb9..7e4e1506c69 100644 --- a/dlls/user32/tests/input.c +++ b/dlls/user32/tests/input.c @@ -432,6 +432,7 @@ static BOOL (WINAPI *pIsWow64Process)(HANDLE, PBOOL); static HKL (WINAPI *pLoadKeyboardLayoutEx)(HKL, const WCHAR *, UINT); static INT (WINAPI *pScheduleDispatchNotification)(HWND); static BOOL (WINAPI *pDelegateInput)(void *, void *, void *, void *, void *, void *); +static void (WINAPI *pUndelegateInput)(void *, void *); /**********************adapted from input.c **********************************/ @@ -461,6 +462,7 @@ static void init_function_pointers(void) GET_PROC(GetRawInputDeviceInfoW); GET_PROC(GetRawInputDeviceInfoA); GET_PROC(LoadKeyboardLayoutEx); + GET_PROC(UndelegateInput); hdll = GetModuleHandleA("kernel32"); GET_PROC(IsWow64Process); @@ -6478,15 +6480,17 @@ static void test_DelegateInput(void) { BOOL ret; - if (!pDelegateInput) + if (!pDelegateInput || !pUndelegateInput) { - win_skip("DelegateInput is unavailable.\n"); + win_skip("DelegateInput or UndelegateInput is unavailable.\n"); return; } ret = pDelegateInput(0, 0, 0, 0, 0, 0); todo_wine ok(ret == 0, "Got unexpected ret %d.\n", ret); + + pUndelegateInput(0, 0); } START_TEST(input) diff --git a/dlls/user32/user32.spec b/dlls/user32/user32.spec index 5c61bdd6546..b8939646668 100644 --- a/dlls/user32/user32.spec +++ b/dlls/user32/user32.spec @@ -15,7 +15,7 @@ 2010 stub -noname SlicerControl # NtUserSlicerControl 2503 stdcall DelegateInput(ptr ptr ptr ptr ptr ptr) # NtUserDelegateInput -2504 stub UndelegateInput # NtUserUndelegateInput +2504 stdcall UndelegateInput(ptr ptr) # NtUserUndelegateInput 2505 stub HandleDelegatedInput # NtUserHandleDelegatedInput 2506 stub @ 2507 stub -noname SetAutoRotation # NtUserSetAutoRotation -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10313