https://git.reactos.org/?p=reactos.git;a=commitdiff;h=81e0f74a7a150edb98e272c5cf86a36488422795
commit 81e0f74a7a150edb98e272c5cf86a36488422795 Author: Mark Jansen <[email protected]> AuthorDate: Mon Jun 6 20:54:26 2022 +0200 Commit: Mark Jansen <[email protected]> CommitDate: Wed Jun 8 19:19:59 2022 +0200 [WIN32K] Conditionally enable IMM32 MFC42 applications only expect an IME window when on a DBCS system, so they will capture this IME window as their 'main' window on non-DBCS systems. CORE-18212 --- win32ss/user/ntuser/simplecall.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/win32ss/user/ntuser/simplecall.c b/win32ss/user/ntuser/simplecall.c index b228746a9e4..b0e1d86f1d0 100644 --- a/win32ss/user/ntuser/simplecall.c +++ b/win32ss/user/ntuser/simplecall.c @@ -124,7 +124,16 @@ NtUserCallNoParam(DWORD Routine) break; case NOPARAM_ROUTINE_UPDATEPERUSERIMMENABLING: - gpsi->dwSRVIFlags |= SRVINFO_IMM32; // Always set. + // TODO: This should also check the registry! + // see https://www.pctipsbox.com/fix-available-for-ie7-memory-leaks-on-xp-sp3/ for more information + if (NLS_MB_CODE_PAGE_TAG) + { + gpsi->dwSRVIFlags |= SRVINFO_IMM32; + } + else + { + gpsi->dwSRVIFlags &= ~SRVINFO_IMM32; + } Result = TRUE; // Always return TRUE. break;
