diff --git a/dlls/d3d8/device.c b/dlls/d3d8/device.c index e1289301a4b..68b0dff626c 100644 --- a/dlls/d3d8/device.c +++ b/dlls/d3d8/device.c @@ -139,6 +139,7 @@ static HRESULT WINAPI IDirect3DDevice8Impl_GetDirect3D(LPDIRECT3DDEVICE8 iface, if (hr == D3D_OK && pWineD3D != NULL) { IWineD3DResource_GetParent((IWineD3DResource *)pWineD3D,(IUnknown **)ppD3D8); + IWineD3DResource_Release((IWineD3DResource *)pWineD3D); } else { FIXME("Call to IWineD3DDevice_GetDirect3D failed\n"); *ppD3D8 = NULL; diff --git a/dlls/d3d9/device.c b/dlls/d3d9/device.c index 2ebb677c271..349356bc350 100644 --- a/dlls/d3d9/device.c +++ b/dlls/d3d9/device.c @@ -101,6 +101,7 @@ HRESULT WINAPI IDirect3DDevice9Impl_GetDirect3D(LPDIRECT3DDEVICE9 iface, IDire if (hr == D3D_OK && pWineD3D != NULL) { IWineD3DResource_GetParent((IWineD3DResource *)pWineD3D,(IUnknown **)ppD3D9); + IWineD3DResource_Release((IWineD3DResource *)pWineD3D); } else { FIXME("Call to IWineD3DDevice_GetDirect3D failed\n"); *ppD3D9 = NULL;