This is to prevent NULL pointers when creating a TextService with no rows in it.
This NULL pointers doesn't happen when creating a richedit windows, because
it sets an empty text when the richedit window procedure handles the WM_CREATE event.
--
v7: riched20: Call ME_UpdateRepaint instead of editor_ensure_visible in set_selection.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2941
First we set the EOS state, so the wait_parser_stream_buffer function doesn't
call pthread_cond_wait again. Then we must call pthread_cond_signal to make sure
that no one is waiting for it, if we don't do that, there is the possibility of
hanging wg_parser_disconnect at the free_stream call, because pthread_cond_destroy
will hang when the cond object is being waited by other threads.
Specifically this helps to fix a hang in some applications, specially Unreal Engine
games when changing sources too fast in a MediaPlayer.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2887
This is to prevent NULL pointers when creating a TextService with no rows in it.
This NULL pointers doesn't happen when creating a richedit windows, because
it sets an empty text when the richedit window procedure handles the WM_CREATE event.
--
v6: riched20: Call ME_UpdateRepaint instead of editor_ensure_visible in set_selection.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2941
--
v7: vkd3d-shader/hlsl: Handle 'texkill' jump type.
vkd3d-shader/hlsl: Parse clip() function.
tests: Add some tests for clip().
vkd3d-shader: Make some helpers available from hlsl.c.
vkd3d-shader/hlsl: Add a parameter for jump nodes and use it for 'discard'.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/211
On Thu Jun 8 10:13:38 2023 +0000, Huw Davies wrote:
> Yes. See the existing tests in `dlls/riched20/tests/txtsrv.c`. We
> don't currently do much testing on which `ITextHost` members get called,
> but at least there's already an implementation there to get you started.
From what I see when reading the trace calls with `WINETEST_DEBUG` set, windows calls two times TxViewChange, I suppose the first time it's called by the SetText call, and then the second one is called by EM_SETSEL, in wine we don't call it. There are also other functions from the TextHost that get called and we don't do it in wine, so I'm going to write tests for it.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2941#note_35179