wined3d: Release the container during surface / volume cleanup.
This commit is contained in:
parent
75ac954cf5
commit
bac34c35aa
|
@ -69,6 +69,9 @@ ULONG WINAPI IWineD3DSurfaceImpl_Release(IWineD3DSurface *iface) {
|
||||||
glDeleteTextures(1, &This->glDescription.textureName);
|
glDeleteTextures(1, &This->glDescription.textureName);
|
||||||
LEAVE_GL();
|
LEAVE_GL();
|
||||||
}
|
}
|
||||||
|
if (This->container) {
|
||||||
|
IWineD3DBase_Release(This->container);
|
||||||
|
}
|
||||||
IWineD3DResourceImpl_CleanUp((IWineD3DResource *)iface);
|
IWineD3DResourceImpl_CleanUp((IWineD3DResource *)iface);
|
||||||
|
|
||||||
TRACE("(%p) Released\n", This);
|
TRACE("(%p) Released\n", This);
|
||||||
|
|
|
@ -55,6 +55,9 @@ ULONG WINAPI IWineD3DVolumeImpl_Release(IWineD3DVolume *iface) {
|
||||||
TRACE("(%p) : Releasing from %ld\n", This, This->resource.ref);
|
TRACE("(%p) : Releasing from %ld\n", This, This->resource.ref);
|
||||||
ref = InterlockedDecrement(&This->resource.ref);
|
ref = InterlockedDecrement(&This->resource.ref);
|
||||||
if (ref == 0) {
|
if (ref == 0) {
|
||||||
|
if (This->container) {
|
||||||
|
IWineD3DBase_Release(This->container);
|
||||||
|
}
|
||||||
IWineD3DResourceImpl_CleanUp((IWineD3DResource *)iface);
|
IWineD3DResourceImpl_CleanUp((IWineD3DResource *)iface);
|
||||||
HeapFree(GetProcessHeap(), 0, This);
|
HeapFree(GetProcessHeap(), 0, This);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue