[6/6] d3drm: Implement GetParent
André Hentschel
nerv at dawncrow.de
Sun Jan 8 11:47:13 CST 2012
---
dlls/d3drm/frame.c | 11 +++++++----
dlls/d3drm/tests/d3drm.c | 16 ++++++++--------
2 files changed, 15 insertions(+), 12 deletions(-)
diff --git a/dlls/d3drm/frame.c b/dlls/d3drm/frame.c
index 212f7dd..b72700c 100644
--- a/dlls/d3drm/frame.c
+++ b/dlls/d3drm/frame.c
@@ -33,6 +33,7 @@ typedef struct {
IDirect3DRMFrame2 IDirect3DRMFrame2_iface;
IDirect3DRMFrame3 IDirect3DRMFrame3_iface;
LONG ref;
+ LPVOID parent;
} IDirect3DRMFrameImpl;
static const struct IDirect3DRMFrame2Vtbl Direct3DRMFrame2_Vtbl;
@@ -336,9 +337,10 @@ static HRESULT WINAPI IDirect3DRMFrame2Impl_GetParent(IDirect3DRMFrame2* iface,
{
IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
- FIXME("(%p/%p)->(%p): stub\n", iface, This, frame);
+ TRACE("(%p/%p)->(%p)\n", iface, This, frame);
- return E_NOTIMPL;
+ *frame = This->parent;
+ return D3DRM_OK;
}
static HRESULT WINAPI IDirect3DRMFrame2Impl_GetPosition(IDirect3DRMFrame2* iface,
@@ -1197,9 +1199,10 @@ static HRESULT WINAPI IDirect3DRMFrame3Impl_GetParent(IDirect3DRMFrame3* iface,
{
IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
- FIXME("(%p/%p)->(%p): stub\n", iface, This, frame);
+ TRACE("(%p/%p)->(%p)\n", iface, This, frame);
- return E_NOTIMPL;
+ *frame = This->parent;
+ return D3DRM_OK;
}
static HRESULT WINAPI IDirect3DRMFrame3Impl_GetPosition(IDirect3DRMFrame3* iface,
diff --git a/dlls/d3drm/tests/d3drm.c b/dlls/d3drm/tests/d3drm.c
index e742d0d..0d6eeb8 100644
--- a/dlls/d3drm/tests/d3drm.c
+++ b/dlls/d3drm/tests/d3drm.c
@@ -239,8 +239,8 @@ static void test_Frame(void)
pFrameTmp = (void*)0xdeadbeef;
hr = IDirect3DRMFrame_GetParent(pFrameC, &pFrameTmp);
- todo_wine ok(hr == D3DRM_OK, "Cannot get parent frame (hr = %x)\n", hr);
- todo_wine ok(pFrameTmp == NULL, "pFrameTmp = %p\n", pFrameTmp);
+ ok(hr == D3DRM_OK, "Cannot get parent frame (hr = %x)\n", hr);
+ ok(pFrameTmp == NULL, "pFrameTmp = %p\n", pFrameTmp);
pArray = NULL;
hr = IDirect3DRMFrame_GetChildren(pFrameC, &pArray);
@@ -259,8 +259,8 @@ static void test_Frame(void)
pFrameTmp = (void*)0xdeadbeef;
hr = IDirect3DRMFrame_GetParent(pFrameP1, &pFrameTmp);
- todo_wine ok(hr == D3DRM_OK, "Cannot get parent frame (hr = %x)\n", hr);
- todo_wine ok(pFrameTmp == NULL, "pFrameTmp = %p\n", pFrameTmp);
+ ok(hr == D3DRM_OK, "Cannot get parent frame (hr = %x)\n", hr);
+ ok(pFrameTmp == NULL, "pFrameTmp = %p\n", pFrameTmp);
hr = IDirect3DRMFrame_AddChild(pFrameP1, pFrameC);
todo_wine ok(hr == D3DRM_OK, "Cannot add child frame (hr = %x)\n", hr);
@@ -277,7 +277,7 @@ static void test_Frame(void)
pFrameTmp = (void*)0xdeadbeef;
hr = IDirect3DRMFrame_GetParent(pFrameC, &pFrameTmp);
- todo_wine ok(hr == D3DRM_OK, "Cannot get parent frame (hr = %x)\n", hr);
+ ok(hr == D3DRM_OK, "Cannot get parent frame (hr = %x)\n", hr);
todo_wine ok(pFrameTmp == pFrameP1, "pFrameTmp = %p\n", pFrameTmp);
/* Add child to second parent */
@@ -309,7 +309,7 @@ static void test_Frame(void)
pFrameTmp = (void*)0xdeadbeef;
hr = IDirect3DRMFrame_GetParent(pFrameC, &pFrameTmp);
- todo_wine ok(hr == D3DRM_OK, "Cannot get parent frame (hr = %x)\n", hr);
+ ok(hr == D3DRM_OK, "Cannot get parent frame (hr = %x)\n", hr);
todo_wine ok(pFrameTmp == pFrameP2, "pFrameTmp = %p\n", pFrameTmp);
/* Add child again */
@@ -342,8 +342,8 @@ static void test_Frame(void)
pFrameTmp = (void*)0xdeadbeef;
hr = IDirect3DRMFrame_GetParent(pFrameC, &pFrameTmp);
- todo_wine ok(hr == D3DRM_OK, "Cannot get parent frame (hr = %x)\n", hr);
- todo_wine ok(pFrameTmp == NULL, "pFrameTmp = %p\n", pFrameTmp);
+ ok(hr == D3DRM_OK, "Cannot get parent frame (hr = %x)\n", hr);
+ ok(pFrameTmp == NULL, "pFrameTmp = %p\n", pFrameTmp);
IDirect3DRMMeshBuilder_Release(pFrameC);
IDirect3DRMMeshBuilder_Release(pFrameP1);
--
Best Regards, André Hentschel
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: Nachrichtenteil als Anhang
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20120108/691f2015/attachment.ksh>
More information about the wine-patches
mailing list