Commit graph

336 commits

Author SHA1 Message Date
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
Jacek Caban f4f589c421 imm32: Don't allow disabling other thread's IME by thread ID. 2022-07-12 22:51:29 +02:00
Jacek Caban 0e763f72a6 imm32/tests: Add more tests for disabling IME. 2022-07-12 22:51:29 +02:00
Jacek Caban 9c1ecf9971 imm32/tests: Add NtUserAssociateInputContext tests. 2022-07-12 22:51:29 +02:00
Jacek Caban f5b3283e24 win32u: Move window input context handling from imm32. 2022-07-12 22:51:29 +02:00
Jacek Caban 3e8a4b671d imm32: Store message spy pointer in TEB. 2022-07-12 22:51:29 +02:00
Jacek Caban 8f3e19a52f imm32: Use default IME window WM_DESTROY to call imm_couninit_thread. 2022-07-11 18:56:18 +02:00
Jacek Caban d7d9344003 imm32: Use a separated struct for COM initialization spy. 2022-07-11 18:56:18 +02:00
Jacek Caban 7babf75789 imm32: Move default IMM window proc implementation from user32. 2022-07-11 18:56:17 +02:00
Jacek Caban f6ddd4ca86 imm32: Use win32u to manage input context handles. 2022-07-11 18:56:17 +02:00
Eric Pouech afd2e6c840 imm32/tests: Enable compilation with long types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-28 10:32:16 +01:00
Eric Pouech 427e16d0b3 imm32: Enable compilation with long types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-11 10:58:42 +01:00
Alexandre Julliard f0cd33c69e include: Add support for defining Win32 types as 'long' where possible.
Add -DWINE_NO_LONG_TYPES to modules that still have compilation
warnings with long types.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 20:38:22 +01:00
Piotr Caban f84d88d44a imm32: Only call ImmSetActiveContext for focused window in ImmAssociateContext.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-18 21:24:01 +02:00
Piotr Caban 374ad33904 user32: Set IMM active context on focus change.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-18 21:23:58 +02:00
Piotr Caban a3c6e5c843 imm32: Delay import ole32.dll.
Fixes kernel32 debugger test failure.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-18 21:23:54 +02:00
Piotr Caban 684d023faa imm32: Destroy default IME windows in ImmDisableIME.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-15 21:06:20 +02:00
Piotr Caban ea0c992fa5 imm32: Initialize COM in ImmSetActiveContext.
Loosely based on a patch by Nikolay.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-15 21:06:10 +02:00
Piotr Caban 01e072bb68 imm32: Only call ImmSetActiveContext for active window in ImmAssociateContext.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-15 21:06:01 +02:00
Piotr Caban e6d53d6301 imm32: Use ImmSetActiveContext in ImmAssociateContext.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-15 21:05:51 +02:00
Piotr Caban 266c1101b3 imm32: Exit on invalid window in ImmAssociateContext.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-15 21:05:46 +02:00
Piotr Caban 80ac0b9af4 imm32: Add ImmSetActiveContext implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-15 21:05:39 +02:00
Alexandre Julliard 088a787a2c makefiles: Make -mno-cygwin the default.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 22:45:48 +02:00
Francois Gouget 2eb4b19f5f imm32: Fix an ASCII / ANSI mixup in a comment.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 12:14:22 +02:00
Michael Stefaniuc e7d088a629 imm32: Use wide-char string literals.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-20 10:08:59 +01:00
Piotr Caban c9988c885d imm32: Exit early in ImmTranslateMessage when there was no new input.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-28 17:03:57 +02:00
Alexandre Julliard 700910be7c imm32: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-06 09:01:04 +02:00
Akihiro Sagawa d233a78295 imm32: Correctly return the size of the required output buffer.
This fixes a regression introduced by fd7cda93a3.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46851
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-19 08:50:55 +01:00
Nikolay Sivov a6a8a034bd imm32: Get rid of some casts in attributes helper, document arguments.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-13 23:40:39 +01:00
Nikolay Sivov 0f2f72d7b9 imm32: Fix output buffer length handling for A -> W conversion case of GCS_COMPSTR.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-11 19:12:46 +01:00
Nikolay Sivov fd7cda93a3 imm32: Fix output buffer length handling for no-conversion case of GCS_COMPSTR.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-11 19:12:41 +01:00
Nikolay Sivov c4a4146534 imm32: Replace macros with helper functions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-11 19:12:31 +01:00
Alex Henrie 1d65be607d imm32: Avoid using GCC's typeof extension.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-20 15:28:58 +02:00
Michael Stefaniuc 32c6e823bc imm32: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-15 10:49:06 +02:00
Michael Stefaniuc 0dde234e0e imm32/tests: Use the available ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-06 17:27:59 +02:00
Alex Henrie d0ad6316d9 imm32: Fix capitalization of ImmDisableLegacyIME in its comment.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-16 16:40:32 +01:00
Michael Müller 478c8b0eb1 imm32: Add stub for ImmDisableLegacyIME.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-14 20:37:55 +01:00
Akihiro Sagawa 4adfb1be29 user32: Send WM_IME_CHAR messages from DefWindowProc.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-16 21:48:49 +01:00
Akihiro Sagawa 4f14f706a6 imm32/tests: Add more WM_IME_CHAR message tests.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-16 21:48:49 +01:00
Akihiro Sagawa b8dc1e7cde winex11: Keep the result string in the IME UI window procedure.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-14 18:06:43 +01:00
Akihiro Sagawa 3955ce1e0a imm32/tests: Add more composition string tests.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-14 18:06:30 +01:00
Akihiro Sagawa c1dac18c6a imm32/tests: Add a skip message when composition string isn't available.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-14 18:05:32 +01:00
Francois Gouget a0a22397fd imm32/tests: A spelling fix in an ok() message.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-10 19:19:16 +01:00
Akihiro Sagawa 686369022d imm32: Set the default IME window title and styles as in native.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-07 10:43:13 +09:00
Akihiro Sagawa 716e9c93e4 imm32/tests: Add more default IME window tests with message-only window.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-02 23:34:27 +09:00