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?