Re: [PATCH] qedit: Support IAMTimelineGroup interface in IAMTimelineObj
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.
participants (1)
-
Nikolay Sivov