Commit graph

307 commits

Author SHA1 Message Date
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
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