On 2 February 2012 12:56, Stefan Dösinger stefan@codeweavers.com 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.