[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