diff --git a/dlls/mfplat/main.c b/dlls/mfplat/main.c index a6ff97ae04a..452426d055f 100644 --- a/dlls/mfplat/main.c +++ b/dlls/mfplat/main.c @@ -5750,6 +5750,8 @@ static HRESULT resolver_handler_end_create(struct source_resolver *resolver, enu if (!(queued_result = heap_alloc_zero(sizeof(*queued_result)))) return E_OUTOFMEMORY; + queued_result->origin = origin; + IRtwqAsyncResult_GetObject(inner_result, &handler.handler); switch (origin) diff --git a/dlls/mfplat/tests/mfplat.c b/dlls/mfplat/tests/mfplat.c index 55c07adb1fe..a5388840bc5 100644 --- a/dlls/mfplat/tests/mfplat.c +++ b/dlls/mfplat/tests/mfplat.c @@ -343,12 +343,10 @@ static HRESULT WINAPI test_create_from_url_callback_Invoke(IMFAsyncCallback *ifa object = NULL; hr = IMFSourceResolver_EndCreateObjectFromURL(resolver, result, &obj_type, &object); -todo_wine ok(hr == S_OK, "Failed to create an object, hr %#x.\n", hr); hr = IMFAsyncResult_GetObject(result, &object2); ok(hr == S_OK, "Failed to get result object, hr %#x.\n", hr); -todo_wine ok(object2 == object, "Unexpected object.\n"); if (object)