Commit graph

541 commits

Author SHA1 Message Date
Rémi Bernon c4187bc46b imm32/tests: Test cross-thread ImmRequestMessage(W|A) calls. 2023-05-04 18:48:48 +02:00
Rémi Bernon 4ccc47c0ca imm32/tests: Move IME calls test helpers around. 2023-05-04 18:48:48 +02:00
Rémi Bernon 08e2edce96 imm32: Send messages one by one in ImmGenerateMessage. 2023-04-27 20:31:24 +02:00
Rémi Bernon 1d591d08fd imm32/tests: Add some ImmGenerateMessage tests. 2023-04-27 20:31:24 +02:00
Rémi Bernon 920154672d imm32: Update IME UI window IMMGWL_IMC when focus or HIMC changes. 2023-04-27 20:31:24 +02:00
Rémi Bernon b5c30f8ef2 imm32: Move ImmAssociateContext(Ex) around. 2023-04-27 20:31:24 +02:00
Rémi Bernon 2fda6abfc4 imm32: Don't hide/show IME UI window in ImmSetCompositionWindow. 2023-04-27 20:31:24 +02:00
Byeong-Sik Jeon 93e5d7b317 imm32: Avoid updating INPUTCONTEXT hWnd on ImmSetActiveContext deactivation. 2023-04-17 18:55:41 +02:00
Rémi Bernon 422ee56c1b imm32: Forward ImmGetContext to NtUserGetWindowInputContext directly. 2023-04-17 18:55:41 +02:00
Byeongsik Jeon 5ef8554ee9 imm32: Stop updating INPUTCONTEXT hWnd member in ImmGetContext. 2023-04-17 18:55:41 +02:00
Rémi Bernon 53ae92fab4 imm32/tests: Check ImmSetActiveContext effect on INPUTCONTEXT hWnd member. 2023-04-17 18:55:41 +02:00
Rémi Bernon c8d5603776 imm32/tests: Check IME UI visibility vs ImmSetCompositionWindow. 2023-04-17 18:55:41 +02:00
Rémi Bernon 3e3706adcc imm32/tests: Test that ImmSetOpenStatus doesn't set IMMGWL_IMC. 2023-04-17 18:55:41 +02:00
Rémi Bernon 01677af42a imm32: Use INPUTCONTEXT directly in ImmGetCandidateWindow. 2023-04-13 16:18:38 +02:00
Rémi Bernon cf03ab4133 imm32: Use INPUTCONTEXT directly in ImmSetCandidateWindow. 2023-04-13 16:18:38 +02:00
Rémi Bernon 93b6c4557d imm32: Use INPUTCONTEXT directly in ImmGetCompositionFont(A|W). 2023-04-13 16:18:38 +02:00
Rémi Bernon d4318270da imm32: Use INPUTCONTEXT directly in ImmSetCompositionFont(A|W). 2023-04-13 16:18:38 +02:00
Rémi Bernon 9a4b9a3ae5 imm32: Use INPUTCONTEXT directly in ImmGetStatusWindowPos. 2023-04-13 16:18:38 +02:00
Rémi Bernon d0a88bf7de imm32: Use INPUTCONTEXT directly in ImmSetStatusWindowPos. 2023-04-13 16:18:38 +02:00
Rémi Bernon e49feacdb4 imm32: Use INPUTCONTEXT directly in ImmGetCompositionWindow. 2023-04-13 16:18:37 +02:00
Rémi Bernon 048d2f0d13 imm32: Use INPUTCONTEXT directly in ImmSetCompositionWindow. 2023-04-13 16:18:37 +02:00
Rémi Bernon 564deb8a34 imm32/tests: Add some Imm(Get|Set)CandidateWindow tests. 2023-04-13 16:18:37 +02:00
Rémi Bernon 7ddc95d4aa imm32/tests: Add some Imm(Get|Set)CompositionFont tests. 2023-04-13 16:18:37 +02:00
Rémi Bernon f35cb95d5f imm32/tests: Add some Imm(Get|Set)StatusWindowPos tests. 2023-04-13 16:18:37 +02:00
Rémi Bernon 7a3991913b imm32/tests: Add some Imm(Get|Set)CompositionWindow tests. 2023-04-13 16:18:37 +02:00
Rémi Bernon 1cd71e92be imm32: Use INPUTCONTEXT directly in ImmSetConversionStatus. 2023-04-11 12:37:08 +02:00
Rémi Bernon 67ddc3146c imm32: Use INPUTCONTEXT directly in ImmGetConversionStatus. 2023-04-11 12:37:08 +02:00
Rémi Bernon 26d2d2c438 imm32: Compare open status values in ImmSetOpenStatus. 2023-04-11 12:37:08 +02:00
Rémi Bernon 6e51928ae5 imm32: Cache INPUTCONTEXT values for every IME. 2023-04-11 12:37:08 +02:00
Rémi Bernon 374db20a5d imm32: Use INPUTCONTEXT directly in ImmSetOpenStatus. 2023-04-11 12:37:08 +02:00
Rémi Bernon 0af5829476 imm32: Use INPUTCONTEXT directly in ImmGetOpenStatus. 2023-04-11 12:37:08 +02:00
Rémi Bernon 3cd1dc5273 imm32: Serialize ImeInquire / ImeDestroy calls. 2023-04-11 12:37:08 +02:00
Rémi Bernon ff08b083fd imm32/tests: Cleanup the cross thread IMC tests. 2023-04-11 12:37:08 +02:00
Rémi Bernon 152d6e8b27 imm32/tests: Reduce the number of IME installations. 2023-04-11 12:37:08 +02:00
Rémi Bernon e04079160d imm32: Remove unnecessary HIMC check in IME UI window proc. 2023-04-07 18:00:18 +02:00
Rémi Bernon 617e24233b imm32: Call DefWindowProcW from IME UI for unhandled messages. 2023-04-07 18:00:18 +02:00
Rémi Bernon c902be6a84 imm32: Cleanup default IME UI window proc traces. 2023-04-07 18:00:18 +02:00
Rémi Bernon bc1b15211d winex11: Move IME UI proc to default IME implementation. 2023-04-07 18:00:14 +02:00
Rémi Bernon 82971f2348 imm32/tests: Add more ImmSetCompositionString tests. 2023-04-07 17:17:42 +02:00
Rémi Bernon 272677e7e0 imm32/tests: Add more ImmGetCompositionString(W|A) tests. 2023-04-07 17:17:42 +02:00
Rémi Bernon 0522c01be3 imm32/tests: Test WM_IME_NOTIFY messages target window.
Showing that they aren't sent to the focused window but only to the
INPUTCONTEXT hWnd member.
2023-04-07 17:17:40 +02:00
Rémi Bernon 8cb2d2d541 imm32/tests: Test setting the same HIMC statuses twice. 2023-04-07 17:17:40 +02:00
Rémi Bernon 3385cda1c7 imm32: Use a stack allocated buffer in ImmTranslateMessage. 2023-04-04 09:44:58 +02:00
Rémi Bernon 8d0e7d8cdc imm32: Cleanup parameters and traces in ImmTranslateMessage. 2023-04-04 09:44:58 +02:00
Rémi Bernon 101743205d imm32: Simplify control flow in ImmTranslateMessage. 2023-04-04 09:44:58 +02:00
Rémi Bernon 4445fd14d7 imm32: Fix mixed-up HIMC / imc pointers in ImmTranslateMessage. 2023-04-04 09:44:58 +02:00
Rémi Bernon 7f0c2c48df imm32: Rewrite ImmInternalSendIMENotify helper as imc_notify_ime. 2023-04-04 09:44:58 +02:00
Rémi Bernon 3b4aa1662e imm32: Rewrite ImmInternalPostIMEMessage helper as imc_post_message. 2023-04-04 09:44:58 +02:00
Rémi Bernon f6cf1d4432 imm32: Rewrite ImmInternalSendIMEMessage helper as imc_send_message. 2023-04-04 09:44:58 +02:00
Rémi Bernon 19186b5063 imm32/tests: Add some ImmGetCandidateWindow tests. 2023-03-31 19:15:32 +02:00
Rémi Bernon 91bb0bf545 imm32/tests: Add some ImmGetCandidateListCount(W|A) tests. 2023-03-31 19:15:32 +02:00
Rémi Bernon 18d7be24ce imm32/tests: Add some ImmGetCandidateList(W|A) tests. 2023-03-31 19:15:31 +02:00
Rémi Bernon e6e63828d3 imm32/tests: Add some ImmRequestMessageW tests. 2023-03-31 19:15:31 +02:00
Rémi Bernon 4a52781ec9 imm32/tests: Add some spurious IME select calls.
Seen with the Korean locale from time to time, probably caused by some
uninitialized input context data.
2023-03-31 19:15:28 +02:00
Rémi Bernon 3ed1bb2464 imm32/tests: Add some ImeSetActiveContext tests. 2023-03-31 19:15:28 +02:00
Rémi Bernon 7d03937abe imm32/tests: Init INPUTCONTEXT status in ImeSelect. 2023-03-31 19:15:28 +02:00
Rémi Bernon ddfbc66fcf imm32: Avoid recursing into ImeSelect calls. 2023-03-31 19:15:28 +02:00
Rémi Bernon feb427db1a imm32/tests: Add some ImmSetOpenStatus tests. 2023-03-31 19:15:28 +02:00
Rémi Bernon 13f0b5c9c6 imm32/tests: Add some ImmSetConversionStatus tests. 2023-03-31 19:15:28 +02:00
Rémi Bernon 2a4dff01bd winex11: Use the default IME implementation for stubs. 2023-03-30 19:00:25 +02:00
Rémi Bernon 32c5b57ac8 imm32: Return TRUE from ImmIsIME with any HKL. 2023-03-30 19:00:25 +02:00
Rémi Bernon 3d694c8118 imm32: Add a default implementation for IME functions.
To be used by graphics drivers.
2023-03-30 19:00:23 +02:00
Rémi Bernon f24479793b imm32: Introduce new input_context_init helper. 2023-03-30 19:00:23 +02:00
Rémi Bernon 538d48e3f9 imm32: Select current IME on input contexts when needed. 2023-03-30 19:00:23 +02:00
Rémi Bernon 1b778dbea7 imm32: Send WM_IME_SELECT messages when IME is activated. 2023-03-30 19:00:23 +02:00
Rémi Bernon e64e4e7461 imm32: Pass the HIMC to the IME UI window IMMGWL_IMC.
Instead of the imc pointer.
2023-03-30 19:00:21 +02:00
Rémi Bernon 3e2edac438 win32u: Ignore some IME messages in default_window_proc. 2023-03-30 19:00:21 +02:00
Rémi Bernon 6fd3bd9b62 win32u: Ignore IME messages from IME UI windows in DefWindowProc. 2023-03-30 19:00:21 +02:00
Rémi Bernon 5c98617e1b imm32/tests: Test DefWindowProc with IME UI messages. 2023-03-30 19:00:21 +02:00
Rémi Bernon 585ac559b7 imm32: Create the IME UI as child of the IME default window. 2023-03-29 22:29:38 +02:00
Rémi Bernon bb2414fdb1 imm32: Re-create the IME UI window when IME changes. 2023-03-29 22:29:38 +02:00
Rémi Bernon 2504a2d7bc imm32: Keep the IME UI window on the default input context. 2023-03-29 22:29:38 +02:00
Rémi Bernon 0ddad3564f imm32: Update existing input contexts on layout change. 2023-03-29 22:29:37 +02:00
Rémi Bernon 43e22eaa76 imm32/tests: Test IME UI window and IME window presence. 2023-03-29 22:29:37 +02:00
Rémi Bernon 42f3cf1bf3 imm32/tests: Test IME UI creation with the installed IME. 2023-03-29 22:29:37 +02:00
Rémi Bernon 9117ce4185 imm32/tests: Test ImmProcessKey with the installed IME. 2023-03-29 22:29:37 +02:00
Rémi Bernon bda3ee0bd5 imm32: Ignore ImmProcessKey if hkl isn't the current layout. 2023-03-29 22:29:37 +02:00
Rémi Bernon 3a07b09079 imm32: Cleanup ImmProcessKey variables and traces. 2023-03-29 22:29:37 +02:00
Rémi Bernon 5a6ed25f6c imm32/tests: Ignore expected calls marked with todo. 2023-03-29 22:29:37 +02:00
Rémi Bernon 4b04d35773 imm32/tests: Add explicit ImmLoadIME / ImmFreeLayout calls. 2023-03-29 22:29:37 +02:00
Rémi Bernon 61219f1b8b imm32: Call ImeSelect from ImmLockIMC with current IME. 2023-03-28 11:55:31 +02:00
Rémi Bernon de4323611a imm32: Update HIMC private data when selecting IME. 2023-03-28 11:55:31 +02:00
Rémi Bernon 9c8b3e6f42 imm32: Introduce a new imc_select_hkl helper. 2023-03-28 11:55:31 +02:00
Rémi Bernon 0aa3b85b97 imm32: Enumerate input contexts in ImmActivateLayout. 2023-03-28 11:55:31 +02:00
Rémi Bernon 462d5ca257 imm32/tests: Test ActivateKeyboardLayout with an existing window. 2023-03-28 11:55:31 +02:00
Rémi Bernon c2c27e7927 imm32/tests: Test ImmCreateInputContext et al. 2023-03-28 11:55:31 +02:00
Rémi Bernon 47533974ce imm32: Call ActivateKeyboardLayout from ImmActivateLayout. 2023-03-28 11:55:31 +02:00
Rémi Bernon ca97db75d1 imm32/tests: Check current keyboard layout during ime calls. 2023-03-28 11:55:31 +02:00
Rémi Bernon db5cf9a5e1 imm32: Use installed IME language for the created HKL. 2023-03-28 11:55:31 +02:00
Francois Gouget 683ad8221b imm32/tests: Document the WINE_LANGID value. 2023-03-27 17:43:14 +02:00
Rémi Bernon 7b3e66678a imm32/tests: Test undocumented ImmActivateLayout. 2023-03-24 16:33:30 +01:00
Rémi Bernon bcc2337f30 imm32: Stub ImmActivateLayout. 2023-03-24 16:33:30 +01:00
Rémi Bernon b48a659308 imm32/tests: Reduce test output unnecessary verbosity. 2023-03-24 16:33:30 +01:00
Rémi Bernon 66e715f409 imm32: Fix ImmEnumRegisterWord(A|W) callback conversion. 2023-03-24 16:33:30 +01:00
Rémi Bernon 8f6eda8649 imm32: Fix ImmEscape(A|W) with NULL data. 2023-03-24 16:33:29 +01:00
Rémi Bernon 8f52d8a4e1 imm32: Rename InputContextData to struct imc. 2023-03-23 14:14:01 +01:00
Rémi Bernon 1d40658afa imm32: Use NtUserQueryInputContext to check cross-thread access. 2023-03-23 14:14:01 +01:00
Rémi Bernon c66ea947a5 imm32: Remove unused IMM_IsCrossThreadAccess hwnd parameter. 2023-03-23 14:14:01 +01:00
Rémi Bernon 29e51aa333 imm32: Remove unnecessary threadDefault InputContextData member. 2023-03-23 14:14:01 +01:00
Rémi Bernon a7c2f4e5ba imm32: Implement ImmEnumInputContext. 2023-03-23 14:14:01 +01:00