Commit Graph

243 Commits

Author SHA1 Message Date
Alexandre Julliard 1b937cac74 imm32: Make imm.dll into a stand-alone 16-bit module. 2009-03-23 20:32:19 +01:00
Rob Shearman e926c62c43 imm32: Lazily allocated thread-local data. 2009-02-24 16:57:31 +01:00
Rob Shearman f970db947a imm32: Fix crash in DllMain when FreeLibrary is called from a thread which existed before the DLL was loaded.
The code in IMM_FreeThreadData shouldn't assume that thread data will
always have been created, so check for NULL data.

Make loading the DLL more robust against errors.
2009-02-24 16:57:31 +01:00
Francois Gouget ca8a2da6c1 imm32/tests: Use win_skip() to skip over unimplemented functionality. 2009-02-24 16:57:26 +01:00
Michael Stefaniuc 7d2b787783 imm32: Make space for a 64bit pointer in the IMM window. 2009-02-12 11:52:31 +01:00
Aric Stewart e9b3209369 imm: Send WM_IME_SELECT messages when IME is selected and deselected. 2009-01-20 12:23:38 +01:00
Alexandre Julliard 55d243d415 imm32: Avoid pointer casts in traces. 2009-01-08 13:12:55 +01:00
Michael Stefaniuc 2b69813222 imm32: Remove superfluous casts. 2009-01-07 12:22:19 +01:00
Paul Vriens 3a9a08cb3c imm32/tests: We check for failure not success. 2008-12-18 13:39:09 +01:00
Aric Stewart a4d4c07c2f imm32: Implement W/A handling in ImmEscape. 2008-12-09 12:52:38 +01:00
Aric Stewart 5c3aa81473 imm32: Implement ImmAssociateContextEx. 2008-12-08 12:00:37 +01:00
Alexandre Julliard 7801b692cb imm32/tests: Don't use a pointer in an ok test. 2008-12-04 12:13:21 +01:00
Andrew Riedi acac1a5b10 imm32: Add some really basic tests for ImmSetCompositionString(). 2008-12-03 09:50:18 +01:00
Andrew Riedi 625dca9d62 imm32: No need for tests to return 0. 2008-12-03 09:50:13 +01:00
Michael Stefaniuc d5b1874b6c imm32: Remove some superfluous casts. 2008-12-02 14:04:48 +01:00
Aric Stewart 6c551744ef imm32: Implement ImmInstallIME(W/A). 2008-11-20 12:16:31 +01:00
Andrew Talbot 5b598f2ec4 imm32: Sign-compare warnings fix. 2008-10-14 11:25:54 +02:00
Aric Stewart d63eccc602 imm32: ImmConfigureIME should return 0 when the type is IME_CONFIG_REGISTERWORD and the data is NULL. 2008-10-01 13:46:08 -05:00
Paul Vriens e46e095c22 imm32/tests: Skip tests when IME support is not implemented. 2008-09-22 12:19:35 +02:00
Aric Stewart 16d2a46bc5 imm32: Include a basic ImmGetCompositionString test checking ATTR lengths. 2008-09-16 13:19:17 +02:00
Aric Stewart b17aa7813f imm32: Update CopyCompOffsetIMEtoClient to handle A->W and W->A conversions. 2008-09-16 13:19:10 +02:00
Aric Stewart d8c91f58e2 imm32: Update CopyCompClauseIMEtoClient to handle A->W and W->A conversions. 2008-09-16 13:19:03 +02:00
Aric Stewart b2d9edd8a0 imm32: Correct CopyCompAttrIMEtoClient to handle A->W and W->A conversions. 2008-09-16 13:18:55 +02:00
Aric Stewart 0739200c75 imm32: Implement helper functions for copying CompositionString data out of the IME. Standardize ImmGetCompositionStringA/W to use a common T function. 2008-09-16 13:17:39 +02:00
ByeongSik Jeon 33a5ab522f imm32: Add the all GCS_* value check. 2008-05-12 20:16:09 +02:00
ByeongSik Jeon 6e74a865e3 imm32: Add the missing is_himc_ime_unicode() check. 2008-05-12 20:16:06 +02:00
Kusanagi Kouichi fb35a5754c imm32: Avoid false FIXMEs. 2008-05-09 11:21:24 +02:00
ByeongSik Jeon cedfd3f763 imm32: Implementation of the ImmRequestMessage{A|W}. 2008-05-02 11:41:49 +02:00
ByeongSik Jeon 37901a6592 imm32: Updated implementation of the ImmGetConversionList{A|W}. 2008-05-02 11:41:48 +02:00
ByeongSik Jeon a45a07e474 imm32: Updated implementation of the ImmGetCandidateListCount{A|W}. 2008-05-02 11:41:48 +02:00
ByeongSik Jeon 826b50f5ed imm32: Updated implementation of the ImmGetCandidateList{A|W}. 2008-05-02 11:41:48 +02:00
ByeongSik Jeon e552a10c7c imm32: Updated implementation of the ImmEnumRegisterWord{A|W}. 2008-05-02 11:41:48 +02:00
ByeongSik Jeon 4ce9b42c80 imm32: Updated implementation of the Imm{Get|Set}CompositionFont{A|W}. 2008-04-28 14:30:46 +02:00
ByeongSik Jeon b322bc682e imm32: Implementation of the Imm{Get|Set}StatusWindowPos. 2008-04-28 14:30:10 +02:00
ByeongSik Jeon 5d49b3db8d imm32: Implementation of the Imm{Get|Set}CandidateWindow. 2008-04-28 14:30:02 +02:00
ByeongSik Jeon 63d81263e2 imm32: Add the updated ImmTranslateMessage declaration. 2008-04-28 14:29:43 +02:00
Kusanagi Kouichi 9b560b5de8 imm32: Fix typos. 2008-04-25 15:00:11 +02:00
ByeongSik Jeon 86b0d5ecc9 imm32: Fix a typo. 2008-04-25 14:36:08 +02:00
ByeongSik Jeon fab832df68 imm32: ImmGetVirtualKey return orignal virtual key value. 2008-04-25 14:36:02 +02:00
ByeongSik Jeon 7e341002d2 imm32: Reconstruct the ImmProcessKey, ImmTranslateMessage for the VK_PROCESSKEY. 2008-04-25 14:34:34 +02:00
Kusanagi Kouichi 83ae4a92e5 imm32: Fix a meaningless test.
ImmSetCompositionString generates WM_IME_COMPOSITION. Therefore test always
fails if messages are not flushed.
2008-04-24 13:13:34 +02:00
ByeongSik Jeon a720292bac imm32: More implementation of the ImmGetConversionStatus().
Match the ImmSetConversionStatus() function.
2008-04-23 13:28:16 +02:00
ByeongSik Jeon 4c5a21c60e imm32: Pass the old conversion status value to the IME. 2008-04-23 13:28:06 +02:00
ByeongSik Jeon 9a89e4d68c imm32: Examine whether the fOpen value differs with its old value. 2008-04-23 13:27:53 +02:00
ByeongSik Jeon a6ff00c4da imm32: Add stub and header of Imm{Create|Show|Destroy}SoftKeyboard. 2008-04-23 13:26:48 +02:00
ByeongSik Jeon f9316b1877 imm32: Add stub and header of ImmRequestMessage. 2008-04-23 13:26:45 +02:00
James Hawkins 8422c98df7 imm32: Fix a test that fails on all systems. 2008-04-21 13:36:18 +02:00
Aric Stewart 1eece6eee6 imm32: Create the IME UI window with the IME instance so the registered class can be found. 2008-04-17 11:39:33 +02:00
ByeongSik Jeon 511753196f imm32: Implement ImmSetConversionStatus. 2008-04-17 11:39:27 +02:00
Aric Stewart 43dc41168d imm32: Implement ImmProcessKey and ImmTranslateMessage. 2008-04-14 12:42:06 +02:00
Aric Stewart 3dde049f31 imm32: All HIMCC in the InputContext should be initialized at creation. 2008-04-14 12:41:53 +02:00
Aric Stewart 63d2d041d9 imm32: Remember to unset the hwnd for a context when that hwnd is associated with a different context. 2008-04-14 12:04:58 +02:00
Aric Stewart 5ce9649f5a imm32: Implement ImmUnregisterWord using loaded IME. 2008-04-09 19:57:57 +02:00
Aric Stewart 25cb21de44 imm32: Implement ImmRegisterWord using loaded IME. 2008-04-09 19:57:43 +02:00
Aric Stewart fb12a3ec7a imm32: Implement ImmGetRegisterWordStyle using loaded IME. 2008-04-09 19:57:37 +02:00
Aric Stewart f9414028ca imm32: Semi-stub implement ImmGetConversionList using loaded IME. 2008-04-09 19:56:43 +02:00
Aric Stewart 35e148594e imm32: Semi-stub implement ImmEscape using loaded IME. 2008-04-09 19:56:34 +02:00
Aric Stewart 5818a0e787 imm32: Semi-stub implement ImmEnumRegisterWord using loaded IME. 2008-04-09 19:56:29 +02:00
Aric Stewart bb52d30111 imm32: ImmDestroyContext cannot destroy the default context. 2008-04-09 11:43:53 +02:00
Aric Stewart e7c00ca727 imm32: Properly handle unicode and non unicode IMEs with SetCompositionString. 2008-04-07 20:53:23 +02:00
Aric Stewart b72dcd114d imm: Default context and hwnd are per thread so store that data in a thread local storage. 2008-04-07 20:53:05 +02:00
Aric Stewart 7fd05b01ae imm32: Make use of of the loaded IME for all processing. 2008-04-07 20:49:02 +02:00
Aric Stewart f4fd36e543 imm32: Implement ImmGetImeMenuItems using loaded IME. 2008-04-07 20:47:29 +02:00
Aric Stewart 2a8a18fc5b imm32: Load a default IME if a specific one is not specified. This defaults to x11. 2008-04-07 20:47:08 +02:00
Aric Stewart 467ab8a065 imm32: Implement ImmConfigureIME using the loaded IME. 2008-04-07 20:45:35 +02:00
Aric Stewart dd0c9300f9 imm32: Keep track of context associations between HWND and HIMC. 2008-04-02 20:06:31 +02:00
Aric Stewart fd8829fb09 imm: Implement GetCompositionFont. 2008-04-01 23:38:28 +02:00
Alexandre Julliard 01d167be7c imm32: Remove stray semicolon. Don't try to load an invalid file. 2008-04-01 23:17:21 +02:00
Aric Stewart 0a44a778f0 imm32: Begin to add basic framework for loading IMEs as dlls. 2008-04-01 13:39:36 +02:00
Aric Stewart 8be2adf398 imm32: Correct a typo accidently using data instead of root_context. 2008-04-01 13:25:48 +02:00
Aric Stewart 2ea559b8b2 imm32: Have both ImmInternalPostIMEMessage and ImmInternalSendIMENotify receive an InputContextData parameter instead of relaying on root_context. 2008-03-31 15:12:50 +02:00
Aric Stewart 5035a85533 imm: Implement ImmGetIMEFileNameW and ImmGetIMEFileNameA. 2008-03-26 13:31:30 +01:00
Aric Stewart 62f80d3326 imm32: IMEs do not expect the hMsgBuf to be NULL, so initialize it. 2008-03-21 11:25:16 +01:00
Rob Shearman 48000893f9 makefiles: Simplify the use of the IMPORTLIB variable in the DLL makefiles.
Only specify the root to keep platform-specifics out of the individual 
DLL makefiles.
2008-03-04 20:55:01 +01:00
Andrew Talbot 23dd9dc088 imm32: Assign to structs instead of using memcpy. 2008-02-29 12:35:31 +01:00
Aric Stewart f9e5296c7d imm32: Correct offset of text in default IME window when using not default window position. 2008-02-27 14:52:23 +01:00
Rob Shearman 076e3002ec imm32: Destroy the data of the context passed into ImmDestroyContext, not the data in the root context. 2008-02-25 19:49:58 +01:00
Aric Stewart fd67f32ee3 imm: Ensure hCompStr handle is not NULL and check for empty composition strings properly. 2008-02-16 16:04:31 +01:00
Aric Stewart f096dae361 imm: Implement ImmGenerateMessage. 2008-02-11 21:02:47 +01:00
Aric Stewart 0e5d5b37ec imm: More correctly handle the presence of the default IME input window on IME open and close. 2008-02-11 21:02:21 +01:00
Aric Stewart 6bc088b28c imm32: ImmNotifyIMM with CPS_CANCEL fully clears the composition string. Also enable respective tests. 2008-01-07 12:34:01 +01:00
Andrew Talbot a36e14d9c9 imm32: Remove unneeded cast. 2008-01-07 12:18:25 +01:00
Michael Jung 0a31ab7e2a imm32: Added some unit test cases. 2008-01-03 12:34:05 +01:00
Aric Stewart 1b997a9986 imm32: When updating a NULL HIMCC with NULL just return NULL. Handle the NULL HIMCC for the compstr when doing a ImmNotifyIME for a reset. 2008-01-03 12:09:52 +01:00
Andrey Turkin 57a2a8629a imm32: ImmDisableIme is an alias to ImmDisableIME. 2007-10-17 13:40:47 +02:00
Marcus Meissner a84f9e6f69 imm32: Avoid spamming the debug output. 2007-10-12 11:07:39 +02:00
Aric Stewart 7f83b940b5 imm32: Further tweeks to CFS_POINT and CFS_RECT placement of the default ime window. 2007-09-10 15:29:47 +02:00
Aric Stewart 0c9c00cf2b imm: Report GCS_DELTASTART to help behavior with advanced IME aware applications. 2007-08-29 12:01:47 +02:00
Aric Stewart 39aa755600 imm32: Update position of default IME window. 2007-08-27 19:32:37 +02:00
Aric Stewart ede59b0c05 imm32: If composition string is reduced to 0 characters hide composition window. 2007-08-27 12:24:24 +02:00
Aric Stewart 5db70db76e imm32: Use the COMPOSITIONSTRING in hCompStr.
Stop using our custom structure for the Composition string and instead
use the COMPOSITIONSTRING whose handle is in the IMC structure.
2007-07-11 12:42:25 +02:00
Aric Stewart 68b9f52bdb imm32: Implement Locking/Unlocking IMC and IMCC functions. 2007-07-04 13:42:37 +02:00
Aric Stewart 6302b965fa imm32: Implementation of GCS_CURSORPOS. 2007-07-02 13:17:22 +02:00
Dmitry Timoshkov 3c9e7a7f33 wine: Switch to using 'long' for INT_PTR type for 64-bit compatibility. 2007-05-25 20:37:56 +02:00
Michael Stefaniuc 5f62da109e janitorial: Pass HEAP_ZERO_MEMORY as flag to HeapAlloc() instead of zeroing out the allocated memory in a later call. 2007-04-25 12:26:07 +02:00
Dmitry Timoshkov d57872567d winebuild: Check if a given forward does exist in one of the imported dlls, fix a couple of problems detected. 2007-04-09 12:19:31 +02:00
Aric Stewart 7358913545 imm32: Change the default IME window to better reflect applications request.
First part of this change was proposed by Byeong-Sik Jeon.
Additionally respect parameters give to us by ImmSetCompositionWindow
for placement of the composition window.
2007-03-29 21:00:00 +02:00
Alexandre Julliard 9dd1f1e341 Added version information for a number of dlls. 2007-03-07 21:25:16 +01:00
Dmitry Timoshkov f0e88c2aef imm32: Simplify ImmInternalSendIMENotify. 2007-02-27 12:26:33 +01:00
Aric Stewart 99cb61ee8a imm32: Properly send WM_IME_NOTIFY using SendMessage. 2007-02-26 14:40:05 +01:00