[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