From 61ed2e5563b365fb0bd4e581d03ca8300cd1b4ee Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Fri, 15 Sep 2023 15:33:13 +1000 Subject: [PATCH] d3drm: IDirect3DRMMesh Clone semi-stub Needs to copy all members. --- dlls/d3drm/meshbuilder.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/dlls/d3drm/meshbuilder.c b/dlls/d3drm/meshbuilder.c index ec2615a016d..3e57fa99435 100644 --- a/dlls/d3drm/meshbuilder.c +++ b/dlls/d3drm/meshbuilder.c @@ -2508,9 +2508,20 @@ static ULONG WINAPI d3drm_mesh_Release(IDirect3DRMMesh *iface) static HRESULT WINAPI d3drm_mesh_Clone(IDirect3DRMMesh *iface, IUnknown *outer, REFIID iid, void **out) { + struct d3drm_mesh *mesh = impl_from_IDirect3DRMMesh(iface); + struct d3drm_mesh *meshout; + HRESULT hr; + FIXME("iface %p, outer %p, iid %s, out %p stub!\n", iface, outer, debugstr_guid(iid), out); - return E_NOTIMPL; + hr = d3drm_mesh_create(&meshout, mesh->d3drm); + if (FAILED(hr)) + return hr; + + hr = IDirect3DRMMesh_QueryInterface(&meshout->IDirect3DRMMesh_iface, iid, out); + IDirect3DRMMesh_Release(&meshout->IDirect3DRMMesh_iface); + + return hr; } static HRESULT WINAPI d3drm_mesh_AddDestroyCallback(IDirect3DRMMesh *iface, -- 2.45.2