https://git.reactos.org/?p=reactos.git;a=commitdiff;h=5afc3243599276d212e2acc9fe28f0030eb36aa5
commit 5afc3243599276d212e2acc9fe28f0030eb36aa5 Author: Katayama Hirofumi MZ <[email protected]> AuthorDate: Sun Jul 25 11:55:03 2021 +0900 Commit: GitHub <[email protected]> CommitDate: Sun Jul 25 11:55:03 2021 +0900 [IMM32] Improve ImmUnlockClientImc and Imm32HeapAlloc (#3834) - Fix Imm32HeapAlloc function. - Fix ImmUnlockClientImc function. CORE-11700 --- dll/win32/imm32/imm.c | 6 +++--- sdk/include/reactos/imm32_undoc.h | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/dll/win32/imm32/imm.c b/dll/win32/imm32/imm.c index dc62b77bfd2..904e0d25725 100644 --- a/dll/win32/imm32/imm.c +++ b/dll/win32/imm32/imm.c @@ -1017,7 +1017,7 @@ LPVOID APIENTRY Imm32HeapAlloc(DWORD dwFlags, DWORD dwBytes) { if (!g_hImm32Heap) { - g_hImm32Heap = GetProcessHeap(); // FIXME: Use TEB + g_hImm32Heap = RtlGetProcessHeap(); if (g_hImm32Heap == NULL) return NULL; } @@ -1076,7 +1076,7 @@ PCLIENTIMC WINAPI ImmLockClientImc(HIMC hImc) } else { - if (pClientImc->dwFlags & CLIENTIMC_DISABLED) + if (pClientImc->dwFlags & CLIENTIMC_UNKNOWN1) return NULL; } @@ -1092,7 +1092,7 @@ VOID WINAPI ImmUnlockClientImc(PCLIENTIMC pClientImc) TRACE("ImmUnlockClientImc(%p)\n", pClientImc); cLocks = InterlockedDecrement(&pClientImc->cLockObj); - if (cLocks != 0 || (pClientImc->dwFlags & CLIENTIMC_DISABLED)) + if (cLocks != 0 || !(pClientImc->dwFlags & CLIENTIMC_UNKNOWN1)) return; hImc = pClientImc->hImc; diff --git a/sdk/include/reactos/imm32_undoc.h b/sdk/include/reactos/imm32_undoc.h index e207d52bc0e..a2b068fb058 100644 --- a/sdk/include/reactos/imm32_undoc.h +++ b/sdk/include/reactos/imm32_undoc.h @@ -21,9 +21,9 @@ typedef struct tagCLIENTIMC } CLIENTIMC, *PCLIENTIMC; /* flags for CLIENTIMC */ -#define CLIENTIMC_WIDE (1 << 0) -#define CLIENTIMC_DISABLED (1 << 6) -#define CLIENTIMC_UNKNOWN2 (1 << 8) +#define CLIENTIMC_WIDE 0x1 +#define CLIENTIMC_UNKNOWN1 0x40 +#define CLIENTIMC_UNKNOWN2 0x100 #ifdef __cplusplus extern "C" {
