[IMM32] Define ImeDpi_IsUnicode macro and use it (#3964)

- Define ImeDpi_IsUnicode macro in precomp.h.
- Use it.
CORE-11700
This commit is contained in:
Katayama Hirofumi MZ 2021-09-21 12:20:10 +09:00 committed by GitHub
parent 222acf5a3e
commit e0da6437a1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 18 additions and 22 deletions

View file

@ -681,7 +681,7 @@ LRESULT WINAPI ImmEscapeA(HKL hKL, HIMC hIMC, UINT uSubFunc, LPVOID lpData)
if (!pImeDpi)
return 0;
if (!(pImeDpi->ImeInfo.fdwProperty & IME_PROP_UNICODE) || !lpData)
if (!ImeDpi_IsUnicode(pImeDpi) || !lpData)
{
ret = ImeDpi_Escape(pImeDpi, hIMC, uSubFunc, lpData, hKL);
ImmUnlockImeDpi(pImeDpi);
@ -769,7 +769,7 @@ LRESULT WINAPI ImmEscapeW(HKL hKL, HIMC hIMC, UINT uSubFunc, LPVOID lpData)
if (!pImeDpi)
return 0;
if ((pImeDpi->ImeInfo.fdwProperty & IME_PROP_UNICODE) || !lpData)
if (ImeDpi_IsUnicode(pImeDpi) || !lpData)
{
ret = ImeDpi_Escape(pImeDpi, hIMC, uSubFunc, lpData, hKL);
ImmUnlockImeDpi(pImeDpi);
@ -1199,7 +1199,7 @@ ImmGetConversionListA(HKL hKL, HIMC hIMC, LPCSTR pSrc, LPCANDIDATELIST lpDst,
if (pImeDpi == NULL)
return 0;
if (!(pImeDpi->ImeInfo.fdwProperty & IME_PROP_UNICODE))
if (!ImeDpi_IsUnicode(pImeDpi))
{
ret = pImeDpi->ImeConversionList(hIMC, pSrc, lpDst, dwBufLen, uFlag);
ImmUnlockImeDpi(pImeDpi);
@ -1254,7 +1254,7 @@ ImmGetConversionListW(HKL hKL, HIMC hIMC, LPCWSTR pSrc, LPCANDIDATELIST lpDst,
if (!pImeDpi)
return 0;
if (pImeDpi->ImeInfo.fdwProperty & IME_PROP_UNICODE)
if (ImeDpi_IsUnicode(pImeDpi))
{
ret = pImeDpi->ImeConversionList(hIMC, pSrc, lpDst, dwBufLen, uFlag);
ImmUnlockImeDpi(pImeDpi);
@ -1395,11 +1395,8 @@ BOOL WINAPI ImmConfigureIMEA(HKL hKL, HWND hWnd, DWORD dwMode, LPVOID lpData)
RtlZeroMemory(&RegWordW, sizeof(RegWordW));
if (!(pImeDpi->ImeInfo.fdwProperty & IME_PROP_UNICODE) || !lpData ||
dwMode != IME_CONFIG_REGISTERWORD)
{
if (!ImeDpi_IsUnicode(pImeDpi) || !lpData || dwMode != IME_CONFIG_REGISTERWORD)
goto DoIt;
}
pRegWordA = lpData;
@ -1452,11 +1449,8 @@ BOOL WINAPI ImmConfigureIMEW(HKL hKL, HWND hWnd, DWORD dwMode, LPVOID lpData)
RtlZeroMemory(&RegWordA, sizeof(RegWordA));
if ((pImeDpi->ImeInfo.fdwProperty & IME_PROP_UNICODE) || !lpData ||
dwMode != IME_CONFIG_REGISTERWORD)
{
if (ImeDpi_IsUnicode(pImeDpi) || !lpData || dwMode != IME_CONFIG_REGISTERWORD)
goto DoIt;
}
pRegWordW = lpData;

View file

@ -371,7 +371,7 @@ ImmProcessKey(HWND hWnd, HKL hKL, UINT vKey, LPARAM lParam, DWORD dwHotKeyID)
if (LOBYTE(vKey) == VK_PACKET &&
!(pImeDpi->ImeInfo.fdwProperty & IME_PROP_ACCEPT_WIDE_VKEY))
{
if (pImeDpi->ImeInfo.fdwProperty & IME_PROP_UNICODE)
if (ImeDpi_IsUnicode(pImeDpi))
{
bLowWordOnly = TRUE;
}
@ -633,7 +633,7 @@ BOOL WINAPI ImmTranslateMessage(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lKeyD
vk = pIC->nVKey;
if (pImeDpi->ImeInfo.fdwProperty & IME_PROP_KBD_CHAR_FIRST)
{
if (pImeDpi->ImeInfo.fdwProperty & IME_PROP_UNICODE)
if (ImeDpi_IsUnicode(pImeDpi))
{
wch = 0;
kret = ToUnicode(vk, HIWORD(lKeyData), abKeyState, &wch, 1, 0);

View file

@ -93,6 +93,8 @@ static inline BOOL Imm32IsCrossProcessAccess(HWND hWnd)
(DWORD_PTR)NtCurrentTeb()->ClientId.UniqueProcess);
}
#define ImeDpi_IsUnicode(pImeDpi) ((pImeDpi)->ImeInfo.fdwProperty & IME_PROP_UNICODE)
DWORD APIENTRY
CandidateListWideToAnsi(const CANDIDATELIST *pWideCL, LPCANDIDATELIST pAnsiCL, DWORD dwBufLen,
UINT uCodePage);

View file

@ -106,7 +106,7 @@ ImmEnumRegisterWordA(HKL hKL, REGISTERWORDENUMPROCA lpfnEnumProc,
if (!pImeDpi)
return 0;
if (!(pImeDpi->ImeInfo.fdwProperty & IME_PROP_UNICODE))
if (!ImeDpi_IsUnicode(pImeDpi))
{
ret = pImeDpi->ImeEnumRegisterWord(lpfnEnumProc, lpszReading, dwStyle,
lpszRegister, lpData);
@ -162,7 +162,7 @@ ImmEnumRegisterWordW(HKL hKL, REGISTERWORDENUMPROCW lpfnEnumProc,
if (!pImeDpi)
return 0;
if (pImeDpi->ImeInfo.fdwProperty & IME_PROP_UNICODE)
if (ImeDpi_IsUnicode(pImeDpi))
{
ret = pImeDpi->ImeEnumRegisterWord(lpfnEnumProc, lpszReading, dwStyle,
lpszRegister, lpData);
@ -216,7 +216,7 @@ UINT WINAPI ImmGetRegisterWordStyleA(HKL hKL, UINT nItem, LPSTYLEBUFA lpStyleBuf
if (!pImeDpi)
return 0;
if (!(pImeDpi->ImeInfo.fdwProperty & IME_PROP_UNICODE))
if (!ImeDpi_IsUnicode(pImeDpi))
{
ret = pImeDpi->ImeGetRegisterWordStyle(nItem, lpStyleBuf);
goto Quit;
@ -274,7 +274,7 @@ UINT WINAPI ImmGetRegisterWordStyleW(HKL hKL, UINT nItem, LPSTYLEBUFW lpStyleBuf
if (!pImeDpi)
return 0;
if (pImeDpi->ImeInfo.fdwProperty & IME_PROP_UNICODE)
if (ImeDpi_IsUnicode(pImeDpi))
{
ret = pImeDpi->ImeGetRegisterWordStyle(nItem, lpStyleBuf);
goto Quit;
@ -330,7 +330,7 @@ ImmRegisterWordA(HKL hKL, LPCSTR lpszReading, DWORD dwStyle, LPCSTR lpszRegister
if (!pImeDpi)
return FALSE;
if (!(pImeDpi->ImeInfo.fdwProperty & IME_PROP_UNICODE))
if (!ImeDpi_IsUnicode(pImeDpi))
{
ret = pImeDpi->ImeRegisterWord(lpszReading, dwStyle, lpszRegister);
ImmUnlockImeDpi(pImeDpi);
@ -377,7 +377,7 @@ ImmRegisterWordW(HKL hKL, LPCWSTR lpszReading, DWORD dwStyle, LPCWSTR lpszRegist
if (!pImeDpi)
return FALSE;
if (pImeDpi->ImeInfo.fdwProperty & IME_PROP_UNICODE)
if (ImeDpi_IsUnicode(pImeDpi))
{
ret = pImeDpi->ImeRegisterWord(lpszReading, dwStyle, lpszRegister);
ImmUnlockImeDpi(pImeDpi);
@ -424,7 +424,7 @@ ImmUnregisterWordA(HKL hKL, LPCSTR lpszReading, DWORD dwStyle, LPCSTR lpszUnregi
if (pImeDpi == NULL)
return FALSE;
if (!(pImeDpi->ImeInfo.fdwProperty & IME_PROP_UNICODE))
if (!ImeDpi_IsUnicode(pImeDpi))
{
ret = pImeDpi->ImeUnregisterWord(lpszReading, dwStyle, lpszUnregister);
ImmUnlockImeDpi(pImeDpi);
@ -471,7 +471,7 @@ ImmUnregisterWordW(HKL hKL, LPCWSTR lpszReading, DWORD dwStyle, LPCWSTR lpszUnre
if (!pImeDpi)
return FALSE;
if (pImeDpi->ImeInfo.fdwProperty & IME_PROP_UNICODE)
if (ImeDpi_IsUnicode(pImeDpi))
{
ret = pImeDpi->ImeUnregisterWord(lpszReading, dwStyle, lpszUnregister);
ImmUnlockImeDpi(pImeDpi);