[PATCH 1/5] mfplat: Fix asynchronous object creation from URL.
Derek Lesho
dlesho at codeweavers.com
Fri Oct 16 17:02:36 CDT 2020
Signed-off-by: Derek Lesho <dlesho at codeweavers.com>
---
dlls/mfplat/main.c | 4 +++-
dlls/mfplat/tests/mfplat.c | 2 --
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/mfplat/main.c b/dlls/mfplat/main.c
index a6ff97ae04a..8ed18b1b87f 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)
@@ -5788,8 +5790,8 @@ static HRESULT resolver_handler_end_create(struct source_resolver *resolver, enu
if (SUCCEEDED(RtwqCreateAsyncResult(queued_result->object, data->pCallback, caller_state, &caller_result)))
{
+ queued_result->inner_result = caller_result;
RtwqInvokeCallback(caller_result);
- IRtwqAsyncResult_Release(caller_result);
}
}
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)
--
2.28.0
More information about the wine-devel
mailing list