From: Rémi Bernon rbernon@codeweavers.com
--- dlls/mfreadwrite/tests/mfplat.c | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-)
diff --git a/dlls/mfreadwrite/tests/mfplat.c b/dlls/mfreadwrite/tests/mfplat.c index 69478bd58cb..027aa45b1ea 100644 --- a/dlls/mfreadwrite/tests/mfplat.c +++ b/dlls/mfreadwrite/tests/mfplat.c @@ -2948,6 +2948,7 @@ static void test_source_reader_transforms_d3d(void) HWND window; UINT token; HRESULT hr; + LONG ref;
d3d9 = Direct3DCreate9(D3D_SDK_VERSION); if (!d3d9) @@ -2960,8 +2961,11 @@ static void test_source_reader_transforms_d3d(void) if (!(d3d9_device = create_d3d9_device(d3d9, window))) { skip("Failed to create a D3D9 device, skipping tests.\n"); - goto done; + IDirect3D9_Release(d3d9); + DestroyWindow(window); + return; } + IDirect3D9_Release(d3d9);
test_decoder_d3d_aware = TRUE;
@@ -2978,6 +2982,8 @@ static void test_source_reader_transforms_d3d(void) ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); hr = IDirect3DDeviceManager9_ResetDevice(d3d9_manager, d3d9_device, token); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + IDirect3DDevice9_Release(d3d9_device); + hr = IMFAttributes_SetUnknown(attributes, &MF_SOURCE_READER_D3D_MANAGER, (IUnknown *)d3d9_manager); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); expect_d3d_manager = d3d9_manager; @@ -3090,8 +3096,10 @@ static void test_source_reader_transforms_d3d(void)
fail_request_sample = TRUE;
- IMFTransform_Release(test_decoder); - IMFSourceReader_Release(reader); + ref = IMFSourceReader_Release(reader); + ok(ref == 0, "got ref %ld\n", ref); + ref = IMFTransform_Release(test_decoder); + todo_wine ok(ref == 0, "got ref %ld\n", ref);
/* test d3d aware decoder that allocates buffers */ @@ -3165,8 +3173,10 @@ static void test_source_reader_transforms_d3d(void)
fail_request_sample = TRUE;
- IMFTransform_Release(test_decoder); - IMFSourceReader_Release(reader); + ref = IMFSourceReader_Release(reader); + ok(ref == 0, "got ref %ld\n", ref); + ref = IMFTransform_Release(test_decoder); + todo_wine ok(ref == 0, "got ref %ld\n", ref);
test_decoder_allocate_samples = FALSE;
@@ -3175,11 +3185,8 @@ skip_tests: hr = MFTUnregisterLocal(&factory); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
- IDirect3DDeviceManager9_Release(d3d9_manager); - IDirect3DDevice9_Release(d3d9_device); - -done: - IDirect3D9_Release(d3d9); + ref = IDirect3DDeviceManager9_Release(d3d9_manager); + todo_wine ok(ref == 0, "got ref %ld\n", ref); DestroyWindow(window);
test_decoder_d3d_aware = FALSE;