Commit: 534c0af4d39f692c1ee3eb7116c2b5fe909bc134
Author: Campbell Barton
Date:   Thu Nov 5 19:07:22 2015 +1100
Branches: master
https://developer.blender.org/rB534c0af4d39f692c1ee3eb7116c2b5fe909bc134

Fix BMesh memory leak w/ multires data

===================================================================

M       source/blender/bmesh/intern/bmesh_core.c
M       source/blender/bmesh/operators/bmo_inset.c

===================================================================

diff --git a/source/blender/bmesh/intern/bmesh_core.c 
b/source/blender/bmesh/intern/bmesh_core.c
index dfa78f6..4e17868 100644
--- a/source/blender/bmesh/intern/bmesh_core.c
+++ b/source/blender/bmesh/intern/bmesh_core.c
@@ -247,6 +247,9 @@ static BMLoop *bm_loop_create(
 
        if (!(create_flag & BM_CREATE_SKIP_CD)) {
                if (l_example) {
+                       /* no need to copy attrs, just handle customdata */
+                       // BM_elem_attrs_copy(bm, bm, l_example, l);
+                       CustomData_bmesh_free_block_data(&bm->ldata, 
l->head.data);
                        CustomData_bmesh_copy_data(&bm->ldata, &bm->ldata, 
l_example->head.data, &l->head.data);
                }
                else {
diff --git a/source/blender/bmesh/operators/bmo_inset.c 
b/source/blender/bmesh/operators/bmo_inset.c
index 118a19d..7bdf7db 100644
--- a/source/blender/bmesh/operators/bmo_inset.c
+++ b/source/blender/bmesh/operators/bmo_inset.c
@@ -1095,6 +1095,8 @@ void bmo_inset_region_exec(BMesh *bm, BMOperator *op)
                                InterpFace *iface = 
iface_array[BM_elem_index_get(es->l->f)];
                                const int i_a = BM_elem_index_get(l_a_other);
                                const int i_b = BM_elem_index_get(l_b_other);
+                               CustomData_bmesh_free_block_data(&bm->ldata, 
l_b->head.data);
+                               CustomData_bmesh_free_block_data(&bm->ldata, 
l_a->head.data);
                                CustomData_bmesh_copy_data(&bm->ldata, 
&bm->ldata, iface->blocks_l[i_a], &l_b->head.data);
                                CustomData_bmesh_copy_data(&bm->ldata, 
&bm->ldata, iface->blocks_l[i_b], &l_a->head.data);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to