Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/mf/tests/mf.c | 4 ++++ dlls/mf/topology.c | 2 ++ 2 files changed, 6 insertions(+)
diff --git a/dlls/mf/tests/mf.c b/dlls/mf/tests/mf.c index df286db6385..458da0cb275 100644 --- a/dlls/mf/tests/mf.c +++ b/dlls/mf/tests/mf.c @@ -2109,9 +2109,13 @@ todo_wine {
IMFTopologyNode_Release(sink_node2);
+ hr = IMFTopology_SetUINT32(full_topology, &IID_IMFTopology, 123); + ok(hr == S_OK, "Unexpected hr %#x.\n", hr); hr = IMFTopoLoader_Load(loader, full_topology, &topology2, NULL); ok(hr == S_OK, "Failed to resolve topology, hr %#x.\n", hr); ok(full_topology != topology2, "Unexpected instance.\n"); + hr = IMFTopology_GetUINT32(topology2, &IID_IMFTopology, &value); + ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
IMFTopology_Release(topology2); IMFTopology_Release(full_topology); diff --git a/dlls/mf/topology.c b/dlls/mf/topology.c index 58639a67bdb..bbed2cba893 100644 --- a/dlls/mf/topology.c +++ b/dlls/mf/topology.c @@ -2567,6 +2567,8 @@ static HRESULT WINAPI topology_loader_Load(IMFTopoLoader *iface, IMFTopology *in if (FAILED(hr = MFCreateTopology(&output_topology))) return hr;
+ IMFTopology_CopyAllItems(input_topology, (IMFAttributes *)output_topology); + context.input_topology = input_topology; context.output_topology = output_topology; memset(&context.key, 0xff, sizeof(context.key));