Henri Verbeet : ddraw: Add a separate function for parent initialization.
Module: wine Branch: master Commit: 759fd517aa98b0ef8f7a73b06ac74eb77e687f5a URL: http://source.winehq.org/git/wine.git/?a=commit;h=759fd517aa98b0ef8f7a73b06a... Author: Henri Verbeet <hverbeet(a)codeweavers.com> Date: Wed Aug 18 19:26:24 2010 +0200 ddraw: Add a separate function for parent initialization. --- dlls/ddraw/ddraw.c | 7 +++---- dlls/ddraw/ddraw_private.h | 2 +- dlls/ddraw/parent.c | 8 +++++++- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c index 7d97a91..df79f0e 100644 --- a/dlls/ddraw/ddraw.c +++ b/dlls/ddraw/ddraw.c @@ -4701,8 +4701,8 @@ static HRESULT WINAPI d3d7_CreateDevice(IDirect3D7 *iface, REFCLSID riid, LeaveCriticalSection(&ddraw_cs); return DDERR_OUTOFMEMORY; } - index_buffer_parent->lpVtbl = &IParent_Vtbl; - index_buffer_parent->ref = 1; + + ddraw_parent_init(index_buffer_parent); /* Create an Index Buffer. WineD3D needs one for Drawing indexed primitives * Create a (hopefully) long enough buffer, and copy the indices into it @@ -5928,8 +5928,7 @@ static HRESULT STDMETHODCALLTYPE device_parent_CreateSwapChain(IWineD3DDevicePar return DDERR_OUTOFVIDEOMEMORY; } - object->lpVtbl = &IParent_Vtbl; - object->ref = 1; + ddraw_parent_init(object); hr = IWineD3DDevice_CreateSwapChain(This->wineD3DDevice, present_parameters, swapchain, (IUnknown *)object, This->ImplType); diff --git a/dlls/ddraw/ddraw_private.h b/dlls/ddraw/ddraw_private.h index 81d2fd3..40f3bfd 100644 --- a/dlls/ddraw/ddraw_private.h +++ b/dlls/ddraw/ddraw_private.h @@ -315,7 +315,7 @@ struct IParentImpl }; -extern const IParentVtbl IParent_Vtbl DECLSPEC_HIDDEN; +void ddraw_parent_init(IParentImpl *parent) DECLSPEC_HIDDEN; /***************************************************************************** * IDirect3DDevice implementation diff --git a/dlls/ddraw/parent.c b/dlls/ddraw/parent.c index 2d8f519..705d587 100644 --- a/dlls/ddraw/parent.c +++ b/dlls/ddraw/parent.c @@ -121,9 +121,15 @@ static ULONG WINAPI IParentImpl_Release(IParent *iface) /***************************************************************************** * The VTable *****************************************************************************/ -const IParentVtbl IParent_Vtbl = +static const struct IParentVtbl ddraw_parent_vtbl = { IParentImpl_QueryInterface, IParentImpl_AddRef, IParentImpl_Release, }; + +void ddraw_parent_init(IParentImpl *parent) +{ + parent->lpVtbl = &ddraw_parent_vtbl; + parent->ref = 1; +}
participants (1)
-
Alexandre Julliard