diff options
author | Campbell Barton <ideasman42@gmail.com> | 2014-01-06 20:12:24 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2014-01-06 20:17:32 +0400 |
commit | bdd20e18efee75ba306f36e89f492518f2b2eb17 (patch) | |
tree | 26e5539b781a33d47ec4e9b39ff1ed84fd9ec395 /source/blender | |
parent | 96903508bc3faec99bac8007e344016698630aae (diff) |
Bevel: use stack memory for interp_vmesh()
Rather then using the memarena and never freeing.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/bmesh/tools/bmesh_bevel.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/source/blender/bmesh/tools/bmesh_bevel.c b/source/blender/bmesh/tools/bmesh_bevel.c index 35c3d10bde9..06d35bd0abc 100644 --- a/source/blender/bmesh/tools/bmesh_bevel.c +++ b/source/blender/bmesh/tools/bmesh_bevel.c @@ -2023,9 +2023,10 @@ static VMesh *interp_vmesh(MemArena *mem_arena, VMesh *vm0, int nseg) nseg2 = nseg / 2; odd = nseg % 2; vm1 = new_adj_subdiv_vmesh(mem_arena, n, nseg, vm0->boundstart); - prev_frac = (float *)BLI_memarena_alloc(mem_arena, (ns0 + 1) * sizeof(float)); - frac = (float *)BLI_memarena_alloc(mem_arena, (ns0 + 1) * sizeof(float)); - new_frac = (float *)BLI_memarena_alloc(mem_arena, (nseg + 1) * sizeof(float)); + + prev_frac = BLI_array_alloca(prev_frac, (ns0 + 1)); + frac = BLI_array_alloca(frac, (ns0 + 1)); + new_frac = BLI_array_alloca(frac, (nseg + 1)); fill_vmesh_fracs(vm0, prev_frac, n - 1); bndv = vm0->boundstart; |