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

Aaryaman Vasishta jem456.vasishta at gmail.com
Mon May 16 14:59:20 CDT 2016


On Tue, May 17, 2016 at 1:04 AM, Stefan Dösinger <stefandoesinger at gmail.com>
wrote:

> -----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)
>
Right, my bad. I was a bit sloppy in checking version 1 after making
changes to version 3. I'll be extra careful next time :)

>
> > -    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.
>
Thanks for catching this! I'll remove it in the resend.

Cheers,
Aaryaman
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20160517/3570226c/attachment.html>


More information about the wine-devel mailing list