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;
 

Reply via email to