I have an instance where a class creates a DX9 texture via
UINT usage = D3DUSAGE_RENDERTARGET;
HRESULT hr = D3DXCreateTexture (m_D3DDevice,
200,
200,
0,
usage,
D3DFMT_X8R8G8B8,
D3DPOOL_DEFAULT,
&m_texture)
Where m_texture is IDirect3DTexture9*
and hr = S_OK after creation.
But when I come to cleaning it up in the destructor via
if (m_texture != NULL)
{
hr = m_texture->Release();
}
hr = S_FALSE
Why would it fail to release a texture?