On Sun, May 8, 2016 at 9:54 PM, Stefan D��singer <stefandoesinger@gmail.com> wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Am 2016-05-08 um 11:31 schrieb Aaryaman Vasishta:
> +�� �� /* d3drm intentionally leaks a reference to IDirect3DRM here if texture has already been initialized. */
> +�� �� if (texture->d3drm)
> +�� �� �� �� IDirect3DRM_AddRef(texture->d3drm);
> +
> +�� �� if (texture->image)
> +�� �� �� �� return D3DRMERR_BADOBJECT;
> +�� �� if (FAILED(hr = d3drm_texture_load(texture, filename, FALSE)))
> +�� �� �� �� return hr;
Does it also leak if the file fails to load? It's probably better to create the image and then pass it to InitFromImage instead of re-coding this part.

��Not afair while writing the tests, but it will leak if the texture was already initialized.
Is there any situation where texture->d3drm would be NULL? The same question applies to the newly introduced check in d3drm_texture_destroy.
At this point, LoadTexture is not implemented yet. Currently LoadTexture doesn't assign d3drm1, which means that check will be needed in case a texture created by LoadTexture needs to be released. I've removed the NULL check in the next patch after LoadTexture is implemented.

Cheers,
Aaryaman