DDraw->WineD3D refcounting hack
Stefan Dösinger
stefandoesinger at gmx.at
Fri Mar 10 05:49:34 CST 2006
> You could have a function to explicitly destroy the object, regardless
> of reference count. However, I think that one already got mentioned
> last time :-)
:-)
Yes, that was mentioned, and indeed I have one internal function, mainly for
code readability. The problem is that I can't destroy the sublevel surfaces
when the root surface is destroyed, I have to wait until the WineD3DTexture
is destroyed. In most cases, this is equal, and the root surface holds the
only reference to the WineD3DTexture, but in some cases WineD3D holds an
internal reference. If I just destroy the sublevels with the root, then
WineD3D will get angry(aka crash) because I take away the Textures surfaces.
The first wineD3D surface survives because it's parent is an IParent object,
and destroying the root surface does only Release the WineD3DTexture, not the
WineD3DSurface.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 191 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20060310/87b4fb5a/attachment-0001.pgp
More information about the wine-devel
mailing list