Piotr Caban (@piotr) commented about dlls/combase/roapi.c:
if (impl->option == AGILEREFERENCE_DELAYEDMARSHAL && impl->marshal_stream == NULL) { - if (FAILED(hr = marshal_object_in_agile_reference(impl, riid, impl->obj))) + if (cur_ctx != impl->ctx) { + struct marshal_context_params params = { impl, riid }; + IContextCallback *ctx; + + if (FAILED(hr = IUnknown_QueryInterface(impl->ctx, &IID_IContextCallback, (void **)&ctx))) + { + LeaveCriticalSection(&impl->cs); + return hr; + } + + hr = IContextCallback_ContextCallback(ctx, marshal_object_in_context, (ComCallData *)¶ms, + &IID_IContextCallback, 2, NULL);
Could you please change iMethod parameter to 5? Documentation states that values lower than 3 have special meaning (it's probably not true). -- https://gitlab.winehq.org/wine/wine/-/merge_requests/11018#note_141573