From: Etaash Mathamsetty <45927311+Etaash-mathamsetty(a)users.noreply.github.com> --- dlls/win32u/tests/win32u.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/dlls/win32u/tests/win32u.c b/dlls/win32u/tests/win32u.c index acbc5bc3034..41b39f03714 100644 --- a/dlls/win32u/tests/win32u.c +++ b/dlls/win32u/tests/win32u.c @@ -2862,6 +2862,33 @@ static void test_NtUserRegisterWindowMessage(void) ok( !wcscmp( buf, L"#0xabc" ), "buf = %s\n", debugstr_w(buf) ); } +static CALLBACK DWORD test_NtUserNotifyIMEStatus_thread(void *user_data) +{ + HWND hwnd = user_data; + + /* validate that the user driver does not crash */ + NtUserNotifyIMEStatus(hwnd, 0); + + return 0; +} + +static void test_NtUserNotifyIMEStatus(void) +{ + HWND hwnd; + HANDLE thread; + + winetest_push_context("notifyime"); + + hwnd = CreateWindowW( L"static", L"static", WS_OVERLAPPEDWINDOW | WS_HSCROLL | WS_VSCROLL | WS_CLIPSIBLINGS, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, 0, 0, NULL, 0 ); + thread = CreateThread( NULL, 0, test_NtUserNotifyIMEStatus_thread, hwnd, 0, NULL ); + + WaitForSingleObject(thread, INFINITE); + CloseHandle(thread); + DestroyWindow(hwnd); + + winetest_pop_context(); +} + START_TEST(win32u) { char **argv; @@ -2891,6 +2918,7 @@ START_TEST(win32u) return; } + test_NtUserNotifyIMEStatus(); test_NtUserEnumDisplayDevices(); test_window_props(); test_class(); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/8031