From 3311684e6e0441923ab384ef945054dfc63123c3 Mon Sep 17 00:00:00 2001 From: Piotr Caban <piotr@codeweavers.com> Date: Tue, 28 Oct 2014 12:19:24 +0100 Subject: [PATCH] imm32: Return FALSE on WM_MSIME_* messages in ImmIsUIMessage. --- dlls/imm32/imm.c | 28 ++++++---------------------- dlls/imm32/tests/imm32.c | 23 +++++++++++++++++++++++ 2 files changed, 29 insertions(+), 22 deletions(-) diff --git a/dlls/imm32/imm.c b/dlls/imm32/imm.c index 2fa31ac46f2..33a0d6da996 100644 --- a/dlls/imm32/imm.c +++ b/dlls/imm32/imm.c @@ -1945,28 +1945,20 @@ BOOL WINAPI ImmIsIME(HKL hKL) BOOL WINAPI ImmIsUIMessageA( HWND hWndIME, UINT msg, WPARAM wParam, LPARAM lParam) { - BOOL rc = FALSE; - TRACE("(%p, %x, %ld, %ld)\n", hWndIME, msg, wParam, lParam); if ((msg >= WM_IME_STARTCOMPOSITION && msg <= WM_IME_KEYLAST) || (msg == WM_IME_SETCONTEXT) || (msg == WM_IME_NOTIFY) || (msg == WM_IME_COMPOSITIONFULL) || (msg == WM_IME_SELECT) || - (msg == 0x287 /* FIXME: WM_IME_SYSTEM */) || - (msg == WM_MSIME_RECONVERTOPTIONS) || - (msg == WM_MSIME_MOUSE) || - (msg == WM_MSIME_RECONVERTREQUEST) || - (msg == WM_MSIME_RECONVERT) || - (msg == WM_MSIME_QUERYPOSITION) || - (msg == WM_MSIME_DOCUMENTFEED)) + (msg == 0x287 /* FIXME: WM_IME_SYSTEM */)) { if (hWndIME) SendMessageA(hWndIME, msg, wParam, lParam); - rc = TRUE; + return TRUE; } - return rc; + return FALSE; } /*********************************************************************** @@ -1975,28 +1967,20 @@ BOOL WINAPI ImmIsUIMessageA( BOOL WINAPI ImmIsUIMessageW( HWND hWndIME, UINT msg, WPARAM wParam, LPARAM lParam) { - BOOL rc = FALSE; - TRACE("(%p, %x, %ld, %ld)\n", hWndIME, msg, wParam, lParam); if ((msg >= WM_IME_STARTCOMPOSITION && msg <= WM_IME_KEYLAST) || (msg == WM_IME_SETCONTEXT) || (msg == WM_IME_NOTIFY) || (msg == WM_IME_COMPOSITIONFULL) || (msg == WM_IME_SELECT) || - (msg == 0x287 /* FIXME: WM_IME_SYSTEM */) || - (msg == WM_MSIME_RECONVERTOPTIONS) || - (msg == WM_MSIME_MOUSE) || - (msg == WM_MSIME_RECONVERTREQUEST) || - (msg == WM_MSIME_RECONVERT) || - (msg == WM_MSIME_QUERYPOSITION) || - (msg == WM_MSIME_DOCUMENTFEED)) + (msg == 0x287 /* FIXME: WM_IME_SYSTEM */)) { if (hWndIME) SendMessageW(hWndIME, msg, wParam, lParam); - rc = TRUE; + return TRUE; } - return rc; + return FALSE; } /*********************************************************************** diff --git a/dlls/imm32/tests/imm32.c b/dlls/imm32/tests/imm32.c index 4c0a8880fd4..d43464870ce 100644 --- a/dlls/imm32/tests/imm32.c +++ b/dlls/imm32/tests/imm32.c @@ -607,6 +607,14 @@ static void test_ImmIsUIMessage(void) { 0, FALSE } /* mark the end */ }; + UINT WM_MSIME_SERVICE = RegisterWindowMessageA("MSIMEService"); + UINT WM_MSIME_RECONVERTOPTIONS = RegisterWindowMessageA("MSIMEReconvertOptions"); + UINT WM_MSIME_MOUSE = RegisterWindowMessageA("MSIMEMouseOperation"); + UINT WM_MSIME_RECONVERTREQUEST = RegisterWindowMessageA("MSIMEReconvertRequest"); + UINT WM_MSIME_RECONVERT = RegisterWindowMessageA("MSIMEReconvert"); + UINT WM_MSIME_QUERYPOSITION = RegisterWindowMessageA("MSIMEQueryPosition"); + UINT WM_MSIME_DOCUMENTFEED = RegisterWindowMessageA("MSIMEDocumentFeed"); + const struct test *test; BOOL ret; @@ -626,6 +634,21 @@ static void test_ImmIsUIMessage(void) else ok(!msg_spy_find_msg(test->msg), "Windows does not send 0x%x\n", test->msg); } + + ret = pImmIsUIMessageA(NULL, WM_MSIME_SERVICE, 0, 0); + ok(!ret, "ImmIsUIMessageA returned TRUE for WM_MSIME_SERVICE\n"); + ret = pImmIsUIMessageA(NULL, WM_MSIME_RECONVERTOPTIONS, 0, 0); + ok(!ret, "ImmIsUIMessageA returned TRUE for WM_MSIME_RECONVERTOPTIONS\n"); + ret = pImmIsUIMessageA(NULL, WM_MSIME_MOUSE, 0, 0); + ok(!ret, "ImmIsUIMessageA returned TRUE for WM_MSIME_MOUSE\n"); + ret = pImmIsUIMessageA(NULL, WM_MSIME_RECONVERTREQUEST, 0, 0); + ok(!ret, "ImmIsUIMessageA returned TRUE for WM_MSIME_RECONVERTREQUEST\n"); + ret = pImmIsUIMessageA(NULL, WM_MSIME_RECONVERT, 0, 0); + ok(!ret, "ImmIsUIMessageA returned TRUE for WM_MSIME_RECONVERT\n"); + ret = pImmIsUIMessageA(NULL, WM_MSIME_QUERYPOSITION, 0, 0); + ok(!ret, "ImmIsUIMessageA returned TRUE for WM_MSIME_QUERYPOSITION\n"); + ret = pImmIsUIMessageA(NULL, WM_MSIME_DOCUMENTFEED, 0, 0); + ok(!ret, "ImmIsUIMessageA returned TRUE for WM_MSIME_DOCUMENTFEED\n"); } static void test_ImmGetContext(void) -- GitLab