Module: wine Branch: master Commit: 2d9089d8aae5ab6ffa1bff5813f4047988130b3a URL: http://source.winehq.org/git/wine.git/?a=commit;h=2d9089d8aae5ab6ffa1bff5813...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Mon Jul 10 13:40:49 2017 +0300
d3drm: Use existing helper to manage mesh groups.
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/d3drm/d3drm_private.h | 4 ++-- dlls/d3drm/meshbuilder.c | 24 ++---------------------- 2 files changed, 4 insertions(+), 24 deletions(-)
diff --git a/dlls/d3drm/d3drm_private.h b/dlls/d3drm/d3drm_private.h index 861c3ab..65e0016 100644 --- a/dlls/d3drm/d3drm_private.h +++ b/dlls/d3drm/d3drm_private.h @@ -168,8 +168,8 @@ struct d3drm_mesh IDirect3DRMMesh IDirect3DRMMesh_iface; LONG ref; IDirect3DRM *d3drm; - DWORD groups_capacity; - DWORD nb_groups; + SIZE_T nb_groups; + SIZE_T groups_size; struct mesh_group *groups; };
diff --git a/dlls/d3drm/meshbuilder.c b/dlls/d3drm/meshbuilder.c index bb37678..c95cb46 100644 --- a/dlls/d3drm/meshbuilder.c +++ b/dlls/d3drm/meshbuilder.c @@ -2532,28 +2532,8 @@ static HRESULT WINAPI d3drm_mesh_AddGroup(IDirect3DRMMesh *iface, unsigned verte if (!face_data || !id) return E_POINTER;
- if ((mesh->nb_groups + 1) > mesh->groups_capacity) - { - struct mesh_group *groups; - ULONG new_capacity; - - if (!mesh->groups_capacity) - { - new_capacity = 16; - groups = HeapAlloc(GetProcessHeap(), 0, new_capacity * sizeof(*groups)); - } - else - { - new_capacity = mesh->groups_capacity * 2; - groups = HeapReAlloc(GetProcessHeap(), 0, mesh->groups, new_capacity * sizeof(*groups)); - } - - if (!groups) - return E_OUTOFMEMORY; - - mesh->groups_capacity = new_capacity; - mesh->groups = groups; - } + if (!d3drm_array_reserve((void **)&mesh->groups, &mesh->groups_size, mesh->nb_groups + 1, sizeof(*mesh->groups))) + return E_OUTOFMEMORY;
group = mesh->groups + mesh->nb_groups;