[PATCH 6/7] d3drm: Partially implement IDirect3DRMTexture*::InitFromFile. (v3)

Stefan Dösinger stefandoesinger at gmail.com
Mon May 16 14:34:09 CDT 2016


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Am 2016-05-13 um 22:21 schrieb Aaryaman Vasishta:
>  static HRESULT WINAPI d3drm_texture1_InitFromFile(IDirect3DRMTexture *iface, const char *filename)
>  {
> -    FIXME("iface %p, filename %s stub!\n", iface, debugstr_a(filename));
> +    struct d3drm_texture *texture = impl_from_IDirect3DRMTexture(iface);
> +    D3DRMIMAGE *image;
> +    HRESULT hr;
>  
> -    return E_NOTIMPL;
> +    TRACE("iface %p, filename %s.\n", iface, debugstr_a(filename));
> +
> +    if (texture->image)
> +    {
> +        /* d3drm intentionally leaks a reference IDirect3DRM if texture is already initialized. */
> +        IDirect3DRM_AddRef(texture->d3drm);
> +        return D3DRMERR_BADOBJECT;
> +    }
> +    if (FAILED(hr = d3drm_texture_load(texture, filename, FALSE, &image)))
> +        return hr;
> +
> +    hr = IDirect3DRMTexture3_InitFromImage(&texture->IDirect3DRMTexture3_iface, image);
I think you forgot to remove the extra check here :-) . (https://www.winehq.org/pipermail/wine-devel/2016-May/113212.html)

> -    IDirect3DRM_AddRef(texture->d3drm);
> +    if (texture->d3drm)
> +        IDirect3DRM_AddRef(texture->d3drm);
This if check looks like it is an accidental leftover from before you reordered patch 1 too.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCAAGBQJXOiCxAAoJEN0/YqbEcdMwpSkP/ifqzhJnNWI0ZRqMQa9/rOUg
MgbEJEGLC2xFFWwGWHL3biuf+ibZOkmmAPBUznU9+E70ekzegvvRGquc2HTHP0y+
43PXR5A9TXFoOEDvkIiYF6KGiTyEoC2K3N3KzMabm5Iz8ReDLqvF4MmwlggTBsWQ
RS1hbDgP4KKSGRECJFKmI3F0WJk52T2TtPjVXmHrYLYgSKQ8QmCj0BSCGBLFlqWF
uQtH6sM/dI4w6LiqjG83JAlt7VmKZ5hrWJIY7IakF7vZLIOwni4x9+CJyh9b6dc6
gAY27wojqiBtk7x8weQXG2o3kToCL0+dpHTcLNKuJy80tPZa5QVTmXNF5B+Eqtjf
7u3ZWOOEKGdVKKDaztnoEtxlXHfZDn4ST+2pdUhbOW9X5gcxxSQWyour9FnD/fGj
i/OkgvM4gszu1RwcZlpbUY8CkyboOJyziVSUxt7cnW2gHDXY0FwhQMvfpHoPSxiq
+UmsuTFwopoJzK30kh4kwmJSkBGtackb2nA0i34tb69ixIAfQy55cqYTgozEzclh
+2T/wa5q2DhOlHBScjPlUu46j3AqI8B0mtfrLuURB2UWzxKOZpZYtVsTLErVSFqT
745Z+bPbYWGETBJYx+BVxFE4bpGpwqJTI5IH/jITDv4qmNxoLgHKeYnxU9dwayhx
PcvR3vpmTKw/C2N84u+n
=3f/e
-----END PGP SIGNATURE-----



More information about the wine-devel mailing list