forked from bartvdbraak/blender
fix for memory leak in vgroup_copy_active_to_sel
This commit is contained in:
parent
c15b13f78f
commit
73fcfd8651
@ -557,10 +557,7 @@ static void vgroup_copy_active_to_sel(Object *ob, eVGroupSelect subset_type)
|
||||
const int cd_dvert_offset = CustomData_get_offset(&em->bm->vdata, CD_MDEFORMVERT);
|
||||
|
||||
dvert_act = ED_mesh_active_dvert_get_em(ob, &eve_act);
|
||||
if (dvert_act == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (dvert_act) {
|
||||
BM_ITER_MESH_INDEX (eve, &iter, em->bm, BM_VERTS_OF_MESH, i) {
|
||||
if (BM_elem_flag_test(eve, BM_ELEM_SELECT) && eve != eve_act) {
|
||||
MDeformVert *dv = BM_ELEM_CD_GET_VOID_P(eve, cd_dvert_offset);
|
||||
@ -571,15 +568,13 @@ static void vgroup_copy_active_to_sel(Object *ob, eVGroupSelect subset_type)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
MDeformVert *dv;
|
||||
int v_act;
|
||||
|
||||
dvert_act = ED_mesh_active_dvert_get_ob(ob, &v_act);
|
||||
if (dvert_act == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (dvert_act) {
|
||||
dv = me->dvert;
|
||||
for (i = 0; i < me->totvert; i++, dv++) {
|
||||
if ((me->mvert[i].flag & SELECT) && dv != dvert_act) {
|
||||
@ -590,6 +585,7 @@ static void vgroup_copy_active_to_sel(Object *ob, eVGroupSelect subset_type)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
MEM_freeN((void *)vgroup_validmap);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user