[1/2] d3drm: Reorder meshbuilder creation function to avoid forward declarations

André Hentschel nerv at dawncrow.de
Thu Jan 19 15:03:12 CST 2012


---
 dlls/d3drm/meshbuilder.c |   53 +++++++++++++++++++++------------------------
 1 files changed, 25 insertions(+), 28 deletions(-)

diff --git a/dlls/d3drm/meshbuilder.c b/dlls/d3drm/meshbuilder.c
index 7ad7a38..72218ba 100644
--- a/dlls/d3drm/meshbuilder.c
+++ b/dlls/d3drm/meshbuilder.c
@@ -58,9 +58,6 @@ typedef struct {
     DWORD flags;
 } Header;
 
-static const struct IDirect3DRMMeshBuilder2Vtbl Direct3DRMMeshBuilder2_Vtbl;
-static const struct IDirect3DRMMeshBuilder3Vtbl Direct3DRMMeshBuilder3_Vtbl;
-
 static char templates[] = {
 "xof 0302txt 0064"
 "template Header"
@@ -292,31 +289,6 @@ static inline IDirect3DRMMeshBuilderImpl *impl_from_IDirect3DRMMeshBuilder3(IDir
     return CONTAINING_RECORD(iface, IDirect3DRMMeshBuilderImpl, IDirect3DRMMeshBuilder3_iface);
 }
 
-HRESULT Direct3DRMMeshBuilder_create(REFIID riid, IUnknown** ppObj)
-{
-    IDirect3DRMMeshBuilderImpl* object;
-
-    TRACE("(%p)\n", ppObj);
-
-    object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirect3DRMMeshBuilderImpl));
-    if (!object)
-    {
-        ERR("Out of memory\n");
-        return E_OUTOFMEMORY;
-    }
-
-    object->IDirect3DRMMeshBuilder2_iface.lpVtbl = &Direct3DRMMeshBuilder2_Vtbl;
-    object->IDirect3DRMMeshBuilder3_iface.lpVtbl = &Direct3DRMMeshBuilder3_Vtbl;
-    object->ref = 1;
-
-    if (IsEqualGUID(riid, &IID_IDirect3DRMMeshBuilder3))
-        *ppObj = (IUnknown*)&object->IDirect3DRMMeshBuilder3_iface;
-    else
-        *ppObj = (IUnknown*)&object->IDirect3DRMMeshBuilder2_iface;
-
-    return S_OK;
-}
-
 /*** IUnknown methods ***/
 static HRESULT WINAPI IDirect3DRMMeshBuilder2Impl_QueryInterface(IDirect3DRMMeshBuilder2* iface,
                                                                  REFIID riid, void** ppvObject)
@@ -1968,3 +1940,28 @@ static const struct IDirect3DRMMeshBuilder3Vtbl Direct3DRMMeshBuilder3_Vtbl =
     IDirect3DRMMeshBuilder3Impl_GetNormals,
     IDirect3DRMMeshBuilder3Impl_GetNormalCount
 };
+
+HRESULT Direct3DRMMeshBuilder_create(REFIID riid, IUnknown** ppObj)
+{
+    IDirect3DRMMeshBuilderImpl* object;
+
+    TRACE("(%p)\n", ppObj);
+
+    object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirect3DRMMeshBuilderImpl));
+    if (!object)
+    {
+        ERR("Out of memory\n");
+        return E_OUTOFMEMORY;
+    }
+
+    object->IDirect3DRMMeshBuilder2_iface.lpVtbl = &Direct3DRMMeshBuilder2_Vtbl;
+    object->IDirect3DRMMeshBuilder3_iface.lpVtbl = &Direct3DRMMeshBuilder3_Vtbl;
+    object->ref = 1;
+
+    if (IsEqualGUID(riid, &IID_IDirect3DRMMeshBuilder3))
+        *ppObj = (IUnknown*)&object->IDirect3DRMMeshBuilder3_iface;
+    else
+        *ppObj = (IUnknown*)&object->IDirect3DRMMeshBuilder2_iface;
+
+    return S_OK;
+}
-- 

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/20120119/bcffb11e/attachment.ksh>


More information about the wine-patches mailing list