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