[2/2] imm32: Factor out the message checks from ImmIsUIMessageA/W and fix them

André Hentschel nerv at dawncrow.de
Thu Jun 16 16:16:08 CDT 2011


---
 dlls/imm32/imm.c         |   38 +++++++++++++++++++-------------------
 dlls/imm32/tests/imm32.c |   10 +++++-----
 2 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/dlls/imm32/imm.c b/dlls/imm32/imm.c
index 00a7c6a..1ca9278 100644
--- a/dlls/imm32/imm.c
+++ b/dlls/imm32/imm.c
@@ -1875,6 +1875,23 @@ BOOL WINAPI ImmIsIME(HKL hKL)
     return (ptr && ptr->hIME);
 }
 
+static BOOL IMM_IsUIMessage(UINT msg)
+{
+    return ((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 == 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));
+}
+
 /***********************************************************************
  *		ImmIsUIMessageA (IMM32.@)
  */
@@ -1884,16 +1901,7 @@ BOOL WINAPI ImmIsUIMessageA(
     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_KEYUP) ||
-        (msg == WM_MSIME_SERVICE) ||
-        (msg == WM_MSIME_RECONVERTOPTIONS) ||
-        (msg == WM_MSIME_MOUSE) ||
-        (msg == WM_MSIME_RECONVERTREQUEST) ||
-        (msg == WM_MSIME_RECONVERT) ||
-        (msg == WM_MSIME_QUERYPOSITION) ||
-        (msg == WM_MSIME_DOCUMENTFEED))
-
+    if (IMM_IsUIMessage(msg))
     {
         if (!IMM_GetThreadData()->hwndDefault)
             ImmGetDefaultIMEWnd(NULL);
@@ -1914,15 +1922,7 @@ BOOL WINAPI ImmIsUIMessageW(
 {
     BOOL rc = FALSE;
     TRACE("(%p, %d, %ld, %ld):\n", hWndIME, msg, wParam, lParam);
-    if ((msg >= WM_IME_STARTCOMPOSITION && msg <= WM_IME_KEYLAST) ||
-        (msg >= WM_IME_SETCONTEXT && msg <= WM_IME_KEYUP) ||
-        (msg == WM_MSIME_SERVICE) ||
-        (msg == WM_MSIME_RECONVERTOPTIONS) ||
-        (msg == WM_MSIME_MOUSE) ||
-        (msg == WM_MSIME_RECONVERTREQUEST) ||
-        (msg == WM_MSIME_RECONVERT) ||
-        (msg == WM_MSIME_QUERYPOSITION) ||
-        (msg == WM_MSIME_DOCUMENTFEED))
+    if (IMM_IsUIMessage(msg))
     {
         if (!IMM_GetThreadData()->hwndDefault)
             ImmGetDefaultIMEWnd(NULL);
diff --git a/dlls/imm32/tests/imm32.c b/dlls/imm32/tests/imm32.c
index 7184b22..1f8cc40 100644
--- a/dlls/imm32/tests/imm32.c
+++ b/dlls/imm32/tests/imm32.c
@@ -523,14 +523,14 @@ static void test_ImmIsUIMessage(void)
         { WM_IME_COMPOSITION,      TRUE,  FALSE },
         { WM_IME_SETCONTEXT,       TRUE,  FALSE },
         { WM_IME_NOTIFY,           TRUE,  FALSE },
-        { WM_IME_CONTROL,          FALSE, TRUE  },
+        { WM_IME_CONTROL,          FALSE, FALSE },
         { WM_IME_COMPOSITIONFULL,  TRUE,  FALSE },
         { WM_IME_SELECT,           TRUE,  FALSE },
-        { WM_IME_CHAR,             FALSE, TRUE  },
+        { WM_IME_CHAR,             FALSE, FALSE },
         { 0x287 /* FIXME */,       TRUE,  FALSE },
-        { WM_IME_REQUEST,          FALSE, TRUE  },
-        { WM_IME_KEYDOWN,          FALSE, TRUE  },
-        { WM_IME_KEYUP,            FALSE, TRUE  },
+        { WM_IME_REQUEST,          FALSE, FALSE },
+        { WM_IME_KEYDOWN,          FALSE, FALSE },
+        { WM_IME_KEYUP,            FALSE, FALSE },
         { 0, FALSE, FALSE } /* mark the end */
     };
 
-- 

Best Regards, André Hentschel



More information about the wine-patches mailing list