Applications calling wined3d_device_context_resolve_sub_resource() on a
deferred context would instead get this scheduled on the immediate context.
Worse, because the original call was intended for a deferred context, we'd do
this without taking the mutex required for immediate contexts, potentially
corrupting the command stream.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1043
On Fri Oct 14 13:58:34 2022 +0000, Kevin Puetz wrote:
> Looked at it some more and since I (already) gave up on trying to fix
> the todo_wine about spurious calls to MessagePending, extracting that
> much to a helper shouldn't be so bad. It was my (abandoned) theory about
> how PeekMessage/QueueStatus should interact to suppress those unwanted
> calls that made things so tangled together - and the didn't make the
> conformance tests work any better, and it had nothing to do with the
> actual application I was working on, so it got dropped.
> The existing behavior (which this MR leaves alone) just needs an early
> exit to return RPC_E_CALL_CANCELED. So I'll extract that helper too;
> fixing IMessageFilter todo will probably have to revisit this, but we
> can just preserve the status quo (and make things more readable) for
> now. No need to borrow trouble from the future when I'm out of ideas and
> not trying to tackle that anymore.
Ok, opened !1068 to start with, with just some of the simpler changes that didn't involve the timeout/pumping behavior. This PR is now rebased on top of that, but marked draft and will can sit until we that first part landed so it gets smaller.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/969#note_10760