Commit graph

380 commits

Author SHA1 Message Date
Rémi Bernon 8bdee1d248 imm32: Use CRT allocation functions. 2023-03-15 14:57:51 +01:00
Rémi Bernon e242e09432 imm32: Rewrite ImmGetDescription(A|W). 2023-03-15 14:57:51 +01:00
Rémi Bernon 85489a53f5 imm32: Rewrite ImmGetIMEFileName(A|W). 2023-03-15 14:57:51 +01:00
Rémi Bernon 8b0b53379f imm32: Transform "Ime File" value in ImmInstallIMEW. 2023-03-15 14:57:51 +01:00
Rémi Bernon 4eba0765d9 imm32: Rename szImeRegFmt to layouts_formatW. 2023-03-15 14:57:51 +01:00
Rémi Bernon 0392621858 imm32: Use a single ime_is_unicode helper. 2023-03-14 15:02:20 +01:00
Rémi Bernon ea4b97bf4e imm32: Delete unnecessary uSelected struct ime member. 2023-03-14 15:02:20 +01:00
Rémi Bernon c76b55991a imm32: Rename some struct ime members. 2023-03-14 15:02:20 +01:00
Rémi Bernon fa9de19a66 imm32: Implement ImmLoadIME and ImmFreeLayout. 2023-03-14 15:02:20 +01:00
Rémi Bernon 4e7aa4fb6a imm32: Rename input context immKbd to ime. 2023-03-13 10:43:15 +01:00
Rémi Bernon 0b34236dfd imm32: Move IMM_FreeThreadData helper around. 2023-03-13 10:43:15 +01:00
Rémi Bernon 245465ba1d imm32: Return early if IMM_GetImmHkl fails. 2023-03-13 10:43:15 +01:00
Rémi Bernon 84cec42e62 imm32: Fail to load IME on any missing entry.
Testing shows that this is what native does.
2023-03-13 10:43:13 +01:00
Rémi Bernon 1ac7125813 imm32: Avoid casts when calling into A/W IME. 2023-03-13 10:43:12 +01:00
Rémi Bernon 87e0c10b4c imm32: Reorder control flow in ImmGetImeMenuItemsW. 2023-03-10 09:50:11 +01:00
Rémi Bernon d07cec3021 imm32: Reorder control flow in ImmGetImeMenuItemsA. 2023-03-10 09:50:11 +01:00
Rémi Bernon ad2ca1e99c imm32: Reorder control flow in ImmUnregisterWordW. 2023-03-10 09:50:11 +01:00
Rémi Bernon 4778d1f2bc imm32: Reorder control flow in ImmUnregisterWordA. 2023-03-10 09:50:11 +01:00
Rémi Bernon 034148e6a1 imm32: Reorder control flow in ImmRegisterWordW. 2023-03-10 09:50:11 +01:00
Rémi Bernon cda7a1338e imm32: Reorder control flow in ImmRegisterWordA. 2023-03-10 09:50:11 +01:00
Rémi Bernon 1bc81cd8ae imm32: Reorder control flow in ImmGetRegisterWordStyleW. 2023-03-10 09:50:11 +01:00
Rémi Bernon 4693428b05 imm32: Reorder control flow in ImmGetRegisterWordStyleA. 2023-03-10 09:50:11 +01:00
Rémi Bernon 03f1780653 imm32: Reorder control flow in ImmGetProperty. 2023-03-10 09:50:09 +01:00
Rémi Bernon a8f11bb8f3 imm32: Reorder control flow in ImmGetConversionListW. 2023-03-09 17:31:26 +01:00
Rémi Bernon 27b587d967 imm32: Reorder control flow in ImmGetConversionListA. 2023-03-09 17:31:26 +01:00
Rémi Bernon af926f1bdc imm32: Reorder control flow in ImmEscapeW. 2023-03-09 17:31:26 +01:00
Rémi Bernon f5c5839bd3 imm32: Reorder control flow in ImmEscapeA. 2023-03-09 17:31:26 +01:00
Rémi Bernon c358707a4d imm32: Reorder control flow in ImmEnumRegisterWordW. 2023-03-09 17:31:26 +01:00
Rémi Bernon 93938a83df imm32: Reorder control flow in ImmEnumRegisterWordA. 2023-03-09 17:31:26 +01:00
Rémi Bernon 38152f893d imm32: Reorder control flow in ImmConfigureIMEW. 2023-03-09 17:31:26 +01:00
Rémi Bernon e0229ba326 imm32: Reorder control flow in ImmConfigureIMEA. 2023-03-09 17:31:26 +01:00
Rémi Bernon 8f12fac681 imm32: Rename ImmHkl to struct ime. 2023-03-09 17:31:26 +01:00
Rémi Bernon 05cf38bfa6 imm32/tests: Test undocumented ImmLoadIME / ImmFreeLayout. 2023-03-09 17:31:26 +01:00
Rémi Bernon 89cdae2e51 imm32: Implement stubs for ImmFreeLayout and ImmLoadIME. 2023-03-09 17:31:26 +01:00
Rémi Bernon 3136115324 imm32/tests: Test ImmGetIMEFileName with the installed IME. 2023-03-08 17:49:00 +01:00
Rémi Bernon d0cc3ded08 imm32/tests: Test ImmGetDescription with the installed IME. 2023-03-08 17:49:00 +01:00
Rémi Bernon 16222f2de6 imm32/tests: Redirect IME function to the main module.
For easier testing and to wokaround some Windows IME caching mechanism
that prevent the IME module from reloading.
2023-03-08 17:49:00 +01:00
Rémi Bernon d07a5e6b91 imm32/tests: Test ImmInstallIMEW with an actual IME. 2023-03-08 17:49:00 +01:00
Rémi Bernon b46ad448ab imm32/tests: Add broken test results for w10v22H2. 2023-03-08 17:49:00 +01:00
Rémi Bernon 333ab2b4d6 include: Add Imm(Get|Set)HotKey declarations. 2023-02-15 21:48:33 +01:00
Rémi Bernon f371309f6d include: Fix ImeToAsciiEx declaration. 2023-02-15 21:48:33 +01:00
Rémi Bernon 2fdfe16c2d include: Fix ImeInquire declaration. 2023-02-15 21:48:33 +01:00
Rémi Bernon 68ff9a942e include: Move ddk/imm.h to immdev.h. 2023-02-15 21:48:33 +01:00
Paul Gofman 9bcc90fb4b imm32: Disable cross thread access for ImmSetCompositionString(). 2023-02-14 20:57:09 +01:00
Fabian Maurer 5be2a01ce6 imm32: Prevent deadlock on unload.
ole32 is delay loaded, which can cause race conditions against
krnl386.exe when unloading.
This is because imm32 tries to get the loader lock while holding the win16 mutex,
and kernel386 does the opposite.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52511
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
2022-11-23 11:03:55 +01:00
Akihiro Sagawa f87ad783e2 imm32/tests: Don't expect IME window if the parent is message-only window descendant.
It has apparently changed in Win10 21H1+.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53521
2022-10-12 21:43:05 +02:00
Francois Gouget 685a917f86 imm32/tests: Mark tests failing randomly on Windows as flaky.
Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=53523
2022-10-12 18:17:52 +02:00
Jacek Caban 1e9390e558 win32u: Use platform-independent layout for ntuser_thread_info. 2022-08-09 15:55:43 +02:00
Jacek Caban 51f414bdc2 imm32: Select default IME when creating its data.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53348
2022-07-15 15:23:11 +02:00
Jacek Caban 047d74c4b1 win32u: Move default IME window management from imm32. 2022-07-12 22:51:29 +02:00