Module: wine Branch: master Commit: 921bd1bf9a55908cf97b321668e5d73be51696f2 URL: http://source.winehq.org/git/wine.git/?a=commit;h=921bd1bf9a55908cf97b321668...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Wed Aug 18 19:26:23 2010 +0200
ddraw: Add a separate function for viewport initialization.
---
dlls/ddraw/ddraw.c | 5 +---- dlls/ddraw/ddraw_private.h | 4 +--- dlls/ddraw/viewport.c | 10 +++++++++- 3 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c index 7541671..7d97a91 100644 --- a/dlls/ddraw/ddraw.c +++ b/dlls/ddraw/ddraw.c @@ -4505,10 +4505,7 @@ static HRESULT WINAPI d3d3_CreateViewport(IDirect3D3 *iface, IDirect3DViewport3 return DDERR_OUTOFMEMORY; }
- object->lpVtbl = &IDirect3DViewport3_Vtbl; - object->ref = 1; - object->ddraw = ddraw_from_d3d3(iface); - object->use_vp2 = 0xff; + d3d_viewport_init(object, ddraw_from_d3d3(iface));
TRACE("Created viewport %p.\n", object); *viewport = (IDirect3DViewport3 *)object; diff --git a/dlls/ddraw/ddraw_private.h b/dlls/ddraw/ddraw_private.h index 6ea61fe..81d2fd3 100644 --- a/dlls/ddraw/ddraw_private.h +++ b/dlls/ddraw/ddraw_private.h @@ -587,11 +587,9 @@ struct IDirect3DViewportImpl IDirect3DMaterialImpl *background; };
-/* Vtable */ -extern const IDirect3DViewport3Vtbl IDirect3DViewport3_Vtbl DECLSPEC_HIDDEN; - /* Helper functions */ void viewport_activate(IDirect3DViewportImpl* This, BOOL ignore_lights) DECLSPEC_HIDDEN; +void d3d_viewport_init(IDirect3DViewportImpl *viewport, IDirectDrawImpl *ddraw) DECLSPEC_HIDDEN;
/***************************************************************************** * IDirect3DExecuteBuffer - Wraps to D3D7 diff --git a/dlls/ddraw/viewport.c b/dlls/ddraw/viewport.c index 56572e3..118e03a 100644 --- a/dlls/ddraw/viewport.c +++ b/dlls/ddraw/viewport.c @@ -1078,7 +1078,7 @@ IDirect3DViewportImpl_Clear2(IDirect3DViewport3 *iface, * The VTable *****************************************************************************/
-const IDirect3DViewport3Vtbl IDirect3DViewport3_Vtbl = +static const struct IDirect3DViewport3Vtbl d3d_viewport_vtbl = { /*** IUnknown Methods ***/ IDirect3DViewportImpl_QueryInterface, @@ -1106,3 +1106,11 @@ const IDirect3DViewport3Vtbl IDirect3DViewport3_Vtbl = IDirect3DViewportImpl_GetBackgroundDepth2, IDirect3DViewportImpl_Clear2, }; + +void d3d_viewport_init(IDirect3DViewportImpl *viewport, IDirectDrawImpl *ddraw) +{ + viewport->lpVtbl = &d3d_viewport_vtbl; + viewport->ref = 1; + viewport->ddraw = ddraw; + viewport->use_vp2 = 0xff; +}