[IMM32] Improve ImmAssociateContext readability
authorKatayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
Thu, 20 Oct 2022 03:32:45 +0000 (12:32 +0900)
committerKatayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
Thu, 20 Oct 2022 03:32:45 +0000 (12:32 +0900)
CORE-11700

dll/win32/imm32/imm.c
dll/win32/imm32/utils.c

index 8f7f147..e8498d9 100644 (file)
@@ -513,19 +513,23 @@ HIMC WINAPI ImmAssociateContext(HWND hWnd, HIMC hIMC)
         return hIMC;
 
     dwValue = NtUserAssociateInputContext(hWnd, hIMC, 0);
-    if (dwValue == 0)
-        return hOldIMC;
-    if (dwValue != 1)
-        return NULL;
-
-    hwndFocus = (HWND)NtUserQueryWindow(hWnd, QUERY_WINDOW_FOCUS);
-    if (hwndFocus == hWnd)
+    switch (dwValue)
     {
-        ImmSetActiveContext(hWnd, hOldIMC, FALSE);
-        ImmSetActiveContext(hWnd, hIMC, TRUE);
-    }
+        case 0:
+            return hOldIMC;
 
-    return hOldIMC;
+        case 1:
+            hwndFocus = (HWND)NtUserQueryWindow(hWnd, QUERY_WINDOW_FOCUS);
+            if (hwndFocus == hWnd)
+            {
+                ImmSetActiveContext(hWnd, hOldIMC, FALSE);
+                ImmSetActiveContext(hWnd, hIMC, TRUE);
+            }
+            return hOldIMC;
+
+        default:
+            return NULL;
+    }
 }
 
 /***********************************************************************
index 3616f7e..d2271fb 100644 (file)
@@ -207,6 +207,7 @@ LPSTR APIENTRY Imm32AnsiFromWide(LPCWSTR pszW)
 }
 
 /* Converts the character index */
+/* Win: CalcCharacterPositionAtoW */
 LONG APIENTRY IchWideFromAnsi(LONG cchAnsi, LPCSTR pchAnsi, UINT uCodePage)
 {
     LONG cchWide;
@@ -227,6 +228,7 @@ LONG APIENTRY IchWideFromAnsi(LONG cchAnsi, LPCSTR pchAnsi, UINT uCodePage)
 }
 
 /* Converts the character index */
+/* Win: CalcCharacterPositionWtoA */
 LONG APIENTRY IchAnsiFromWide(LONG cchWide, LPCWSTR pchWide, UINT uCodePage)
 {
     LONG cb, cchAnsi;