[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