[PATCH 3/5] qedit: Implement IAMTimelineObj_GetTimelineType and add tests.
Alex Henrie
alexhenrie24 at gmail.com
Mon Apr 25 22:09:58 CDT 2016
Cc: Andrew Eikum <aeikum at codeweavers.com>
Signed-off-by: Alex Henrie <alexhenrie24 at gmail.com>
---
dlls/qedit/tests/timeline.c | 4 ++++
dlls/qedit/timelineobj.c | 7 +++++--
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/dlls/qedit/tests/timeline.c b/dlls/qedit/tests/timeline.c
index ec82028..56a8fd3 100644
--- a/dlls/qedit/tests/timeline.c
+++ b/dlls/qedit/tests/timeline.c
@@ -61,6 +61,10 @@ static void test_timeline(void)
hr = IAMTimelineObj_QueryInterface(obj, &IID_IAMTimeline, (void **)&timeline);
ok(hr == E_NOINTERFACE, "Expected E_NOINTERFACE got %08x\n", hr);
+
+ hr = IAMTimelineObj_GetTimelineType(obj, &type);
+ ok(hr == S_OK, "GetTimelineType failed: %08x\n", hr);
+ ok(type == TIMELINE_MAJOR_TYPE_COMPOSITE, "Expected TIMELINE_MAJOR_TYPE_COMPOSITE got %d\n", type);
}
START_TEST(timeline)
diff --git a/dlls/qedit/timelineobj.c b/dlls/qedit/timelineobj.c
index 116fba1..bbe7e0e 100644
--- a/dlls/qedit/timelineobj.c
+++ b/dlls/qedit/timelineobj.c
@@ -36,6 +36,7 @@ typedef struct {
IUnknown IUnknown_inner;
IAMTimelineObj IAMTimelineObj_iface;
LONG ref;
+ TIMELINE_MAJOR_TYPE timeline_type;
} TimelineObjImpl;
static inline TimelineObjImpl *impl_from_IUnknown(IUnknown *iface)
@@ -232,8 +233,9 @@ static HRESULT WINAPI TimelineObj_GetSubObjectLoaded(IAMTimelineObj *iface, BOOL
static HRESULT WINAPI TimelineObj_GetTimelineType(IAMTimelineObj *iface, TIMELINE_MAJOR_TYPE *type)
{
TimelineObjImpl *This = impl_from_IAMTimelineObj(iface);
- FIXME("(%p)->(%p): not implemented!\n", This, type);
- return E_NOTIMPL;
+ TRACE("(%p)->(%p)\n", This, type);
+ *type = This->timeline_type;
+ return S_OK;
}
static HRESULT WINAPI TimelineObj_SetTimelineType(IAMTimelineObj *iface, TIMELINE_MAJOR_TYPE type)
@@ -464,6 +466,7 @@ HRESULT AMTimelineObj_create(TIMELINE_MAJOR_TYPE type, IAMTimelineObj **ppv)
obj->ref = 1;
obj->IUnknown_inner.lpVtbl = &timelineobj_vtbl;
obj->IAMTimelineObj_iface.lpVtbl = &IAMTimelineObj_VTable;
+ obj->timeline_type = type;
*ppv = &obj->IAMTimelineObj_iface;
return S_OK;
--
2.8.0
More information about the wine-patches
mailing list