Henri Verbeet : ddraw: Add a separate function for parent initialization.
Alexandre Julliard
julliard at winehq.org
Thu Aug 19 11:44:02 CDT 2010
Module: wine
Branch: master
Commit: 759fd517aa98b0ef8f7a73b06ac74eb77e687f5a
URL: http://source.winehq.org/git/wine.git/?a=commit;h=759fd517aa98b0ef8f7a73b06ac74eb77e687f5a
Author: Henri Verbeet <hverbeet at 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;
+}
More information about the wine-cvs
mailing list