https://git.reactos.org/?p=reactos.git;a=commitdiff;h=81e0f74a7a150edb98e272...
commit 81e0f74a7a150edb98e272c5cf86a36488422795 Author: Mark Jansen mark.jansen@reactos.org AuthorDate: Mon Jun 6 20:54:26 2022 +0200 Commit: Mark Jansen mark.jansen@reactos.org 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;