[PATCH v2 3/5] qedit: Implement IAMTimelineObj_GetTimelineType and add tests.
Alex Henrie
alexhenrie24 at gmail.com
Wed Apr 27 00:12:48 CDT 2016
Cc: Andrew Eikum <aeikum at codeweavers.com>
Signed-off-by: Alex Henrie <alexhenrie24 at gmail.com>
---
dlls/qedit/tests/timeline.c | 7 +++++++
dlls/qedit/timeline.c | 8 ++++++--
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/dlls/qedit/tests/timeline.c b/dlls/qedit/tests/timeline.c
index d2b299c..ecb4223 100644
--- a/dlls/qedit/tests/timeline.c
+++ b/dlls/qedit/tests/timeline.c
@@ -75,6 +75,13 @@ static void test_timeline(void)
hr = IAMTimelineObj_QueryInterface(obj, &IID_IAMTimeline, (void **)&timeline2);
ok(hr == E_NOINTERFACE, "Expected E_NOINTERFACE got %08x\n", hr);
ok(!timeline2, "Expected NULL got %p\n", timeline2);
+
+ hr = IAMTimelineObj_GetTimelineType(obj, NULL);
+ ok(hr == E_POINTER, "Expected E_POINTER 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/timeline.c b/dlls/qedit/timeline.c
index 3274892..0ecb1b5 100644
--- a/dlls/qedit/timeline.c
+++ b/dlls/qedit/timeline.c
@@ -52,6 +52,7 @@ static inline TimelineImpl *impl_from_IAMTimeline(IAMTimeline *iface)
typedef struct {
IAMTimelineObj IAMTimelineObj_iface;
LONG ref;
+ TIMELINE_MAJOR_TYPE timeline_type;
} TimelineObjImpl;
static inline TimelineObjImpl *impl_from_IAMTimelineObj(IAMTimelineObj *iface)
@@ -169,6 +170,7 @@ static HRESULT WINAPI Timeline_IAMTimeline_CreateEmptyNode(IAMTimeline *iface, I
obj_impl->ref = 1;
obj_impl->IAMTimelineObj_iface.lpVtbl = &IAMTimelineObj_VTable;
+ obj_impl->timeline_type = type;
*obj = &obj_impl->IAMTimelineObj_iface;
return S_OK;
@@ -592,8 +594,10 @@ 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);
+ if (!type) return E_POINTER;
+ *type = This->timeline_type;
+ return S_OK;
}
static HRESULT WINAPI TimelineObj_SetTimelineType(IAMTimelineObj *iface, TIMELINE_MAJOR_TYPE type)
--
2.8.0
More information about the wine-patches
mailing list