[PATCH 1/5] d3drm: Set vertices data of the created mesh.
Christian Costa
titan.costa at gmail.com
Tue May 22 15:05:07 CDT 2012
---
dlls/d3drm/meshbuilder.c | 22 ++++++++++++++++++++--
1 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/dlls/d3drm/meshbuilder.c b/dlls/d3drm/meshbuilder.c
index 9b5e2cc..4d4da0f 100644
--- a/dlls/d3drm/meshbuilder.c
+++ b/dlls/d3drm/meshbuilder.c
@@ -1856,10 +1856,28 @@ static HRESULT WINAPI IDirect3DRMMeshBuilder3Impl_CreateMesh(IDirect3DRMMeshBuil
}
hr = IDirect3DRMMesh_AddGroup(*mesh, This->nb_vertices, This->nb_faces, 0, face_data, &group);
+ HeapFree(GetProcessHeap(), 0, face_data);
+ if (SUCCEEDED(hr))
+ {
+ D3DRMVERTEX* vertices;
+
+ vertices = HeapAlloc(GetProcessHeap(), 0, This->nb_vertices * sizeof(D3DRMVERTEX));
+ if (vertices)
+ {
+ for (i = 0; i < This->nb_vertices; i++)
+ {
+ vertices[i].position = This->pVertices[i];
+ }
+ hr = IDirect3DRMMesh_SetVertices(*mesh, 0, 0, This->nb_vertices, vertices);
+ HeapFree(GetProcessHeap(), 0, vertices);
+ }
+ else
+ {
+ hr = E_OUTOFMEMORY;
+ }
+ }
if (FAILED(hr))
IDirect3DRMMesh_Release(*mesh);
-
- HeapFree(GetProcessHeap(), 0, face_data);
}
return hr;
More information about the wine-patches
mailing list