Commit Graph

212 Commits

Author SHA1 Message Date
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 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
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
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 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 911d269be8 user32: Create and destroy the default IME window implicitly.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-29 16:45:32 +09:00
Akihiro Sagawa ba2e025b94 imm32: Implement ImmDisableIME.
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>
2016-07-28 22:54:03 +09:00
Akihiro Sagawa 5751048500 imm32: Use wine_dbgstr_rect() and wine_dbgstr_point() in traces.
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>
2016-05-14 14:39:56 +09:00
Akihiro Sagawa 29043ff975 imm32: Avoid null pointer dereference in trace.
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>
2016-05-14 14:39:56 +09:00
Aric Stewart e7f725ec5f imm32: Detach hMsgBuf when sending messages in ImmGenerateMessage.
The issues is that if a message being sent in ImmGenerateMessage gets
turned around and sent into an IME that in response to that message
calls ImmGenerateMessage, the hMsgBuf still has the old message in it
and it ends up getting processed in a loop again and again.

Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-15 21:30:04 +09:00
Aric Stewart 64c772dcc2 imm32: Messages from ImmGenerateMessage are sent not posted.
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-01 23:17:49 +09:00
Piotr Caban 60b996ad4b imm32: Don't use functions that use graphics driver in THREAD_DETACH/PROCESS_DETACH. 2015-08-28 13:14:03 +09:00
Piotr Caban 9e09982847 imm32: Use IMM context keyboard layout when possible. 2015-08-12 22:54:53 +09:00
Alexandre Julliard c731ed30ac imm32: Remove redundant IsWindow calls. 2015-02-26 23:00:17 +09:00
Alexandre Julliard c84fd8586a imm32: Simplify the helper functions to retrieve the thread data. 2015-02-26 23:00:15 +09:00
Alexandre Julliard 29ce21e25d imm32: Add a helper function to get the default context. 2015-02-26 23:00:12 +09:00
Aric Stewart 5448acc37a imm32: Limit cross thread access to ImmSet* functions. 2015-02-26 21:53:05 +09:00
Aric Stewart fdf37fe744 imm32: Restrict cross-thread association and destruction. 2015-02-26 21:53:05 +09:00
Aric Stewart 455ca1adb0 imm32: Use thread data from target HWND. 2015-02-26 21:53:03 +09:00
Aric Stewart f3967902c5 imm32: Do not let ImmDestroyContext destroy any default contexts. 2015-02-26 21:50:34 +09:00
Aric Stewart e28fc1177a imm32: Move thread data from TLSEntry to an internal list. 2015-02-26 21:50:14 +09:00
Piotr Caban 3be5c16b4d user32: Move IME window procedure to user32. 2014-11-11 16:09:47 +09:00
Aric Stewart 836bd1fdae imm32: Handle keyboard changes when processing input. 2014-10-29 20:31:02 +09:00
Piotr Caban 3311684e6e imm32: Return FALSE on WM_MSIME_* messages in ImmIsUIMessage. 2014-10-29 20:30:59 +09:00
Aric Stewart f0de67de0c imm32: Set context conversion and sentence status. 2014-03-12 10:42:34 +01:00
André Hentschel fd862ba74e imm32: Use boolean return value in boolean function. 2014-01-29 17:29:08 +01:00
Frédéric Delanoy bf34d0c3af imm32: Use BOOL type where appropriate. 2013-11-15 11:59:10 +01:00
Alexandre Julliard d85b22cbca imm32: Retrieve the graphics driver name from the registry. 2013-10-22 20:19:17 +02:00
Aric Stewart bd9e608133 imm32: ImmGetCandidateWindow should not return unset data. 2013-10-02 12:24:25 +02:00
Aric Stewart cae71ef219 imm32: ImmGetDescriptionA return does not include NULL byte. 2013-09-27 18:14:47 +02:00
Aric Stewart 8b933495fb imm32: Fix ImmGetDescription behavior with a null HKL. 2013-09-18 22:23:09 +02:00
Qian Hong b4b428ee9e imm32: Validate input context in multiple IMC functions.
Both tests and fixes improved by Aric Stewart.
2013-09-18 22:23:09 +02:00
Qian Hong 134935e714 imm32: Fixed IMCC implementation. 2013-08-16 20:49:36 +02:00
Qian Hong 00289d5b91 imm32: Fixed ImmUnlockIMCC. 2013-08-01 12:17:16 +02:00