[PATCH 1/5] mf/topology: Copy input topology attributes on Load().

Nikolay Sivov nsivov at codeweavers.com
Mon Apr 12 04:19:51 CDT 2021


Signed-off-by: Nikolay Sivov <nsivov at 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));
-- 
2.30.2




More information about the wine-devel mailing list