202 Commits

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

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
Qian Hong
44f6006738 imm32: Fixed ImmUnlockIMC. 2013-08-01 12:17:12 +02:00
Alexandre Julliard
0243fd5aa3 imm32: Don't bother to unregister classes at process exit. 2013-05-14 11:33:17 +02:00
Alexandre Julliard
a3b85a5a2e imm32: Retrieve the graphics driver module from gdi32. 2013-02-11 11:46:12 +01:00
Aric Stewart
ad6272486b imm32: Use SendMessage not PostMessage for the default IME winproc. 2012-11-21 15:19:42 +01:00
Aric Stewart
968a1e9b72 imm32: Switch the value of IMMGWL_IMC in the UI window when a new imc opens. 2012-10-15 19:38:13 +02:00
Aric Stewart
59c144f197 imm32: Unregister IME class on process detach. 2012-10-11 20:21:42 +02:00
Aric Stewart
db07083e4c imm32: Remove unused parameter to IMM_RegisterIMEClass. 2012-10-11 20:21:36 +02:00
Aric Stewart
fb5dbd608f imm32: Explicitly handle all WM_IME_XXX messages in the IME class. 2012-10-03 16:26:59 +02:00
Aric Stewart
e9f3030c51 imm32: Have IMM class use DefWindowProc. 2012-10-03 16:26:38 +02:00
Aric Stewart
5f5f20d6cf imm32: Properly separate the IME UI window and the thread default IME window. 2012-09-27 16:49:18 +02:00