Michael Stefaniuc : ddraw: Rename d3d_material_init() and have it allocate the object too.

Alexandre Julliard julliard at winehq.org
Wed Jun 8 11:27:03 CDT 2011


Module: wine
Branch: master
Commit: db15ce658035ca018abc418f11c88d124ea7531c
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=db15ce658035ca018abc418f11c88d124ea7531c

Author: Michael Stefaniuc <mstefani at redhat.de>
Date:   Wed Jun  8 17:29:20 2011 +0200

ddraw: Rename d3d_material_init() and have it allocate the object too.

---

 dlls/ddraw/ddraw.c         |    4 +---
 dlls/ddraw/ddraw_private.h |    2 +-
 dlls/ddraw/material.c      |   10 +++++++++-
 3 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c
index 51e8c8c..d3ee861 100644
--- a/dlls/ddraw/ddraw.c
+++ b/dlls/ddraw/ddraw.c
@@ -4603,15 +4603,13 @@ static HRESULT WINAPI d3d3_CreateMaterial(IDirect3D3 *iface, IDirect3DMaterial3
 
     if (outer_unknown) return CLASS_E_NOAGGREGATION;
 
-    object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*object));
+    object = d3d_material_create(This);
     if (!object)
     {
         ERR("Failed to allocate material memory.\n");
         return DDERR_OUTOFMEMORY;
     }
 
-    d3d_material_init(object, This);
-
     TRACE("Created material %p.\n", object);
     *material = (IDirect3DMaterial3 *)object;
 
diff --git a/dlls/ddraw/ddraw_private.h b/dlls/ddraw/ddraw_private.h
index cce8574..0da8f55 100644
--- a/dlls/ddraw/ddraw_private.h
+++ b/dlls/ddraw/ddraw_private.h
@@ -429,7 +429,7 @@ struct IDirect3DMaterialImpl
 
 /* Helper functions */
 void material_activate(IDirect3DMaterialImpl* This) DECLSPEC_HIDDEN;
-void d3d_material_init(IDirect3DMaterialImpl *material, IDirectDrawImpl *ddraw) DECLSPEC_HIDDEN;
+IDirect3DMaterialImpl *d3d_material_create(IDirectDrawImpl *ddraw) DECLSPEC_HIDDEN;
 
 /*****************************************************************************
  * IDirect3DViewport - Wraps to D3D7
diff --git a/dlls/ddraw/material.c b/dlls/ddraw/material.c
index 10ce340..42e4809 100644
--- a/dlls/ddraw/material.c
+++ b/dlls/ddraw/material.c
@@ -507,11 +507,19 @@ static const struct IDirect3DMaterialVtbl d3d_material1_vtbl =
     IDirect3DMaterialImpl_Unreserve
 };
 
-void d3d_material_init(IDirect3DMaterialImpl *material, IDirectDrawImpl *ddraw)
+IDirect3DMaterialImpl *d3d_material_create(IDirectDrawImpl *ddraw)
 {
+    IDirect3DMaterialImpl *material;
+
+    material = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*material));
+    if (!material)
+        return NULL;
+
     material->lpVtbl = &d3d_material3_vtbl;
     material->IDirect3DMaterial2_iface.lpVtbl = &d3d_material2_vtbl;
     material->IDirect3DMaterial_iface.lpVtbl = &d3d_material1_vtbl;
     material->ref = 1;
     material->ddraw = ddraw;
+
+    return material;
 }




More information about the wine-cvs mailing list