ddraw: Don't destroy complex attached surfaces even if explicitely
requested as they will be liquidated anyway when the root is destroyed.
This commit is contained in:
parent
e25e1a4de2
commit
f9593bfe67
@ -293,14 +293,11 @@ IDirectDrawSurfaceImpl_Release(IDirectDrawSurface7 *iface)
|
|||||||
IDirectDrawImpl *ddraw;
|
IDirectDrawImpl *ddraw;
|
||||||
IUnknown *ifaceToRelease = This->ifaceToRelease;
|
IUnknown *ifaceToRelease = This->ifaceToRelease;
|
||||||
|
|
||||||
/* Destroy all complex attached surfaces
|
/* Complex attached surfaces are destroyed implicitely when the root is released */
|
||||||
* Therefore, start with the first surface,
|
if(This->first_complex != This)
|
||||||
* except for textures. Not entirely sure what has
|
|
||||||
* to happen exactly in this case
|
|
||||||
*/
|
|
||||||
if( (This->first_complex != This) && !(This->surface_desc.ddsCaps.dwCaps & DDSCAPS_TEXTURE))
|
|
||||||
{
|
{
|
||||||
FIXME("(%p) Destroying a surface which is a attached to a complex root %p\n", This, This->first_complex);
|
WARN("(%p) Attempt to destroy a surface that is attached to a complex root %p\n", This, This->first_complex);
|
||||||
|
return ref;
|
||||||
}
|
}
|
||||||
ddraw = This->ddraw;
|
ddraw = This->ddraw;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user