diff --git a/win32ss/user/imm32/imm.c b/win32ss/user/imm32/imm.c index f211a86cb87..ddacadf247b 100644 --- a/win32ss/user/imm32/imm.c +++ b/win32ss/user/imm32/imm.c @@ -1139,9 +1139,12 @@ ImmEnumInputContext( for (dwIndex = 0; dwIndex < dwCount; ++dwIndex) { hIMC = phList[dwIndex]; - ret = (*lpfn)(hIMC, lParam); - if (!ret) - break; + if (hIMC && gpsi && ValidateHandle(hIMC, TYPE_INPUTCONTEXT)) + { + ret = (*lpfn)(hIMC, lParam); + if (!ret) + break; + } } ImmLocalFree(phList);