On 17 June 2016 at 09:38, Aaryaman Vasishta <jem456.vasishta@gmail.com> wrote:
> v4: Replaced GetVisuals, GetParent and GetTransform with thunks to version 2.
>
> v3: Added version 1->3 thunks for only those frame1 methods that have tests (see test_Frame). The rest will be stubs returning E_NOTIMPL. Also avoid the use of QI in Add/DeleteChild.
>
Doesn't that potentially break currently working applications? And
while having tests is great, I'm not sure I agree with the premise
that it's better to return E_NOTIMPL than to forward to an
implementation that may have subtle differences but probably doesn't
in most cases.
> +static HRESULT WINAPI d3drm_frame1_QueryInterface(IDirect3DRMFrame *iface, REFIID riid, void **out)
> +{
> + struct d3drm_frame *frame = impl_from_IDirect3DRMFrame(iface);
> +
> + TRACE("iface %p, riid %s, out %p.\n", iface, debugstr_guid(riid), out);
> +
> + return IDirect3DRMFrame3_QueryInterface(&frame->IDirect3DRMFrame3_iface, riid, out);
> +}
This may have come up before, but any reason you can't call
d3drm_frame3_QueryInterface() directly here?