[PATCH] ddraw/tests: Add some IDirect3DViewport interface tests

Henri Verbeet hverbeet at gmail.com
Thu Feb 2 06:34:38 CST 2012


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



More information about the wine-devel mailing list