[PATCH] qedit: Support IAMTimelineGroup interface in IAMTimelineObj

Nikolay Sivov nsivov at codeweavers.com
Wed Oct 4 02:54:53 CDT 2017


On 10/04/2017 07:40 AM, Alistair Leslie-Hughes wrote:

> --- a/dlls/qedit/tests/timeline.c
> +++ b/dlls/qedit/tests/timeline.c
> @@ -126,7 +126,7 @@ static void test_timelineobj_interfaces(void)
>           IAMTimelineGroup *group;
>   
>           hr = IAMTimelineObj_QueryInterface(obj, &IID_IAMTimelineGroup, (void **)&group);
> -        todo_wine ok(hr == S_OK, "got %08x\n", hr);
> +        ok(hr == S_OK, "got %08x\n", hr);
>           if(hr == S_OK)
>               IAMTimelineGroup_Release(group);
You don't need if() after this patch.

> +static HRESULT WINAPI timelinegrp_QueryInterface(IAMTimelineGroup *iface, REFIID riid, void **object)
> +{
> +    TimelineObjImpl *This = impl_from_IAMTimelineGroup(iface);
> +
> +    TRACE("(%p)->(%s %p)\n", This, debugstr_guid(riid), object);
> +
> +    if (!object)
> +        return E_POINTER;
> +
> +    *object = NULL;
> +    if (IsEqualIID(riid, &IID_IUnknown)   ||
> +        IsEqualIID(riid, &IID_IAMTimelineGroup) )
> +        *object = &This->IAMTimelineGroup_iface;
> +    else
> +        WARN("(%p, %s,%p): not found\n", This, debugstr_guid(riid), object);
> +
> +    if (!*object)
> +        return E_NOINTERFACE;
> +
> +    IUnknown_AddRef((IUnknown*)*object);
> +    return S_OK;
> +}
This looks wrong, but not impossible. Can you query IAMTimelineObj back 
from IAMTimelineGroup? Looks like we don't have tests showing that you 
can't do that.



More information about the wine-devel mailing list