ddraw: Release the wined3d surface first in ddraw_surface_destroy().

This commit is contained in:
Henri Verbeet 2011-04-20 22:09:25 +02:00 committed by Alexandre Julliard
parent 25c0941e50
commit cbf78c5d49

View File

@ -244,6 +244,9 @@ void ddraw_surface_destroy(IDirectDrawSurfaceImpl *This)
WARN("(%p): Destroying surface with refount %d\n", This, This->ref);
}
if (This->WineD3DSurface)
IWineD3DSurface_Release(This->WineD3DSurface);
/* Check for attached surfaces and detach them */
if(This->first_attached != This)
{
@ -276,10 +279,6 @@ void ddraw_surface_destroy(IDirectDrawSurfaceImpl *This)
}
}
/* Now destroy the surface. Wait: It could have been released if we are a texture */
if(This->WineD3DSurface)
IWineD3DSurface_Release(This->WineD3DSurface);
/* Having a texture handle set implies that the device still exists */
if(This->Handle)
{