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.