Piotr Caban : imm32: Return FALSE on WM_MSIME_* messages in ImmIsUIMessage.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Oct 29 07:36:57 CDT 2014


Module: wine
Branch: master
Commit: 3311684e6e0441923ab384ef945054dfc63123c3
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=3311684e6e0441923ab384ef945054dfc63123c3

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Tue Oct 28 12:19:24 2014 +0100

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 2fa31ac..33a0d6da 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 4c0a888..d434648 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)




More information about the wine-cvs mailing list