On 2 February 2012 12:56, Stefan Dösinger <[email protected]> wrote: > +static LONG get_refcount(IUnknown *test_iface) > +{ > + IUnknown_AddRef(test_iface); > + return IUnknown_Release(test_iface); > +} Release is supposed to return a ULONG.
> + hr = IDirect3DViewport_QueryInterface(viewport, &IID_IDirect3DViewport2, > (void **)&viewport2); > + ok(SUCCEEDED(hr) || broken(hr == E_FAIL), "Failed to QI > IDirect3DViewport2, hr %#x.\n", hr); I think this would make the test fail on old versions of ddraw that simply don't know about IDirect3DViewport2. > + hr = IDirect3DViewport3_QueryInterface(viewport2, &IID_IUnknown, (void > **)&unknown); This looks like it was intended to be called on viewport3. > + /* FIXME: This test suggests that IDirect3D, IDirect3D2 and IDirect3D3 > are linked > + * to IDirectDraw. However, they are linked to whatever interface is > used to QI the > + * first IDirect3D? interface. If DDraw1 is replaced with DDraw4 here > the tests break */ Makes sense. I'm not sure it really should be part of this patch though.
