On Sun Jul 10 17:41:42 2022 +0000, Jinoh Kang wrote:
> There is a pre-existing bug where cancellation requests are ignored for
> alerted asyncs (i.e. async instances that are not actually completed and
> can go back from the "terminated" state to the pending state). Perhaps
> it's worth addressing that bug first? https://www.winehq.org/pipermail/wine-devel/2022-March/210053.html
in the exchange, it sounded like you had or were working on a fix. were you asking me to fix it or wait for your fix?
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/47#note_4275
The test shows that during RedrawWindow( ... RDW_ERASENOW ...) WM_NCPAINT delivery is not waited on the RedrawWindow() thread if the window is on another thread. It is still delivered directly to window procedure without showing up in PeekMessage(), and is processed synchronously if window is on the same thread. That corresponds to SendNotifyMessage() behaviour.
Fixes Warhammer: Vermintide 2 hanging during the game start. The game redraws desktop window (RedrawWindow(NULL, NULL, NULL, RDW_INVALIDATE | RDW_ERASE | RDW_ALLCHILDREN | RDW_ERASENOW | RDW_FRAME)). During that all the windows are getting updated and might be hitting that SendMessage in question. This hangs when it comes to the game's launcher's (minimized) window which is another process and doesn't process message queue at this point.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/452