d3drm: Add stubs for IDirect3DRMDevice methods.

Stefan Dösinger stefandoesinger at gmail.com
Sun Jul 12 06:19:41 CDT 2015


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

You aren't returning the version 1 interface from QueryInterface.

Am 2015-07-11 um 14:40 schrieb Aaryaman Vasishta:
>      if (IsEqualGUID(riid, &IID_IDirect3DRMDevice3))
>          *out = (IUnknown*)&object->IDirect3DRMDevice3_iface;
> -    else
> +    else if (IsEqualGUID(riid, &IID_IDirect3DRMDevice2))
>          *out = (IUnknown*)&object->IDirect3DRMDevice2_iface;
> +    else
> +        *out = (IUnknown*)&object->IDirect3DRMDevice_iface;
You can call QueryInterface instead of doing GUID checks like this. Just
initialize ref = 0, then call QI and you'll return a ref = 1 device.

Another option, if you like this better, is to always return e.g. a
IDirect3DRMDevice3 from Direct3DRMDevice_create, remove the riid
parameter and do the QueryInterface in the caller. In this case init the
refcount to 1 and call device3_Release in the caller after calling QI to
obtain the right interface.

The first 3 patches look good to me. I'll ack them tomorrow.

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

iQIcBAEBAgAGBQJVok1NAAoJEN0/YqbEcdMwlFcQAJUgHXSjnseG9zIMJuKwiOoU
K0IeSIAODnpT/+Mqc307owC7WBnKhTu4XLmZA1F7NxTxqdIcH85BsYx/LdLSeipq
Y9KnTOg6dD00bNrujqyoZ5RmFI/pA+BXwhNXrwfbFg+RLr21ecQTpfRuDn3ENmPM
VjWPHsfd4QIRqd+0Qo4LHAAS4UDmMm/avLdN+Gh5AOsDvOQYWW6reaerxYz6k61h
rlkZwu1gLsSFTsA/PGz4W3nacVZkfcH8JourB80CJ/+bdPj1DfVImCpa2sx/WQ3g
KMzwmR4MnS0n8/F2wGsqx/VMIKQ3zBblWVy4ZkZaMao6wA5IOoISSFXWrQlfUZrS
GU5sRGwyVlaYK8qCzBOn3TdHhrrNLpg5hHkCqpN2JM1IgNYVaMevjZ+ISJhvaKXO
GlQKwxOdB0M/SRWIPQ2261eQG/31lGEYm9ocu7i4USmNkaVZZCKlBt6wqsbmj6hF
7J2eU2KtfUoJwRozZRPaEdcKa0Xdp9AfrOrq4wilvEpIuUBI2leVVpOBQrbDD1c6
Z7/z8I1hmIw8ZPNl9NIIx7IyRrtnV3GBFG8rmWfRkHMMmIlZKqnC7+Yzgj5UF7Ai
vr89VCzoAGj1Du/Xr8x5vmciLAdoRVNNTqV6QTPYqOgOQkodyls8RxH/IwM1sH/6
ZHUuK1kI7/vyX2WkYPi1
=1vdj
-----END PGP SIGNATURE-----



More information about the wine-devel mailing list