d3drm: Fix child leak.
This commit is contained in:
parent
ff0e82502f
commit
5e1d854ee5
|
@ -1260,6 +1260,7 @@ HRESULT load_mesh_data(IDirect3DRMMeshBuilder3* iface, LPDIRECTXFILEDATA pData)
|
|||
if (FAILED(hr))
|
||||
{
|
||||
hr = IDirectXFileObject_QueryInterface(child, &IID_IDirectXFileDataReference, (void **)&reference);
|
||||
IDirectXFileObject_Release(child);
|
||||
if (FAILED(hr))
|
||||
goto end;
|
||||
|
||||
|
@ -1268,6 +1269,10 @@ HRESULT load_mesh_data(IDirect3DRMMeshBuilder3* iface, LPDIRECTXFILEDATA pData)
|
|||
if (FAILED(hr))
|
||||
goto end;
|
||||
}
|
||||
else
|
||||
{
|
||||
IDirectXFileObject_Release(child);
|
||||
}
|
||||
|
||||
hr = Direct3DRMMaterial_create(&material);
|
||||
if (FAILED(hr))
|
||||
|
@ -1357,9 +1362,14 @@ HRESULT load_mesh_data(IDirect3DRMMeshBuilder3* iface, LPDIRECTXFILEDATA pData)
|
|||
i++;
|
||||
}
|
||||
if (hr == S_OK)
|
||||
{
|
||||
IDirectXFileObject_Release(child);
|
||||
WARN("Found more sub-objects than expected\n");
|
||||
}
|
||||
else if (hr != DXFILEERR_NOMOREOBJECTS)
|
||||
{
|
||||
goto end;
|
||||
}
|
||||
hr = S_OK;
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue