Check the content of the output buffer in addition to checking the
return value.
Also show that multibyte characters are not truncated when the output
buffer is too small.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2613
On Fri Apr 7 14:53:00 2023 +0000, Rémi Bernon wrote:
> > I'm not sure what you mean by very integrated with win32u. Exposing
> builtin IMEs as "normal" IMEs is not affected by changes that I suggest.
> For driver interface, it would just replace one driver entry by another.
> I think I was confused by the idea of adding win32u specific interface
> for the callbacks. I'll consider doing this, as I think it also make
> sense to pass NtUserNotifyIMEStatus calls.
> I'm curious then, is there any advantage of using `NtUserMessageCall` vs
> `NtUserCallOneParam` or one of the other flavor? `NtUserMessageCall`
> takes a hwnd as first parameter, it feels a bit wrong to use an HIMC there.
I'd expect that `NtUserMessageCall` would be a bit nicer for wow64, because it may just pass through arguments like `NtUserSpyGetMsgName`, but yeah, handle type mismatch is not that nice.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2598#note_29322
This adds a new `wine/ime.h` header, to share the `IMEPRIVATE` structure between `imm32`, `winex11` and `winemac`. This structure will be internal to `imm32` ultimately, but I intend to keep the header to define a new internal interface for driver to call back into `imm32` (through the UI window), and for a new interface to call from `imm32` into host IME implemented by the drivers.
--
v3: imm32: Remove unnecessary HIMC check in IME UI window proc.
imm32: Call DefWindowProcW from IME UI for unhandled messages.
imm32: Cleanup default IME UI window proc traces.
winemac: Use the default IME UI window proc implementation.
winex11: Move IME UI proc to default IME implementation.
winex11: Cleanup spaces in IME UI window proc.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2598
--
v2: imm32/tests: Add more ImmSetCompositionString tests.
imm32/tests: Add more ImmGetCompositionString(W|A) tests.
imm32/tests: Test WM_IME_NOTIFY messages target window.
imm32/tests: Test setting the same HIMC statuses twice.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2607
This adds a new `wine/ime.h` header, to share the `IMEPRIVATE` structure between `imm32`, `winex11` and `winemac`. This structure will be internal to `imm32` ultimately, but I intend to keep the header to define a new internal interface for driver to call back into `imm32` (through the UI window), and for a new interface to call from `imm32` into host IME implemented by the drivers.
--
v2: imm32: Remove unnecessary HIMC check in IME UI window proc.
imm32: Call DefWindowProcW from IME UI for unhandled messages.
imm32: Cleanup default IME UI window proc traces.
winemac: Use the default IME UI window proc implementation.
winex11: Move IME UI proc to default IME implementation.
winex11: Cleanup spaces in IME UI window proc.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2598