Commit Graph

306 Commits

Author SHA1 Message Date
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
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 77da0b8b4f imm32/tests: Add ImmDisableIME 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>
2016-07-28 22:53:53 +09:00
Francois Gouget 09a401e2a8 imm32/tests: Spelling fix.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-02 01:08:50 +09:00
Akihiro Sagawa 47043b9295 imm32/tests: Add more tests showing that the IME window is created after WM_NCCREATE.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-30 11:15:01 +09:00
Akihiro Sagawa da389f5fcc imm32/tests: Add tests showing the IME window is created if the first window is a child.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-30 11:14:59 +09:00
Akihiro Sagawa 451fd162b4 imm32/tests: Add tests showing that the IME window is created between WM_NCCREATE and WM_NCCALCSIZE.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-30 11:14:56 +09:00
Akihiro Sagawa 5152f4141a imm32/tests: Add tests for life cycle of default IME window.
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-16 15:30:36 +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
Akihiro Sagawa 2cd81c149d imm32/tests: Terminate the thread cleanly.
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-02-12 12:16:28 +09:00
Akihiro Sagawa 1fb30e1cab imm32/tests: Use WM_CLOSE instead of DestroyWindow().
DestroyWindow() call won't work across threads.

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-02-12 12:16:25 +09:00
Akihiro Sagawa ba0e38b175 imm32/tests: Fix typo.
hwnd is a global variable, hWnd is a local variable. They're very confusable.

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-02-12 12:16:18 +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
Frédéric Delanoy 2e5cb7aac8 Assorted spelling/grammar fixes. 2014-04-30 18:34:20 +02:00
Aric Stewart f0de67de0c imm32: Set context conversion and sentence status. 2014-03-12 10:42:34 +01:00