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);
|
const int cd_dvert_offset = CustomData_get_offset(&em->bm->vdata, CD_MDEFORMVERT);
|
||||||
|
|
||||||
dvert_act = ED_mesh_active_dvert_get_em(ob, &eve_act);
|
dvert_act = ED_mesh_active_dvert_get_em(ob, &eve_act);
|
||||||
if (dvert_act == NULL) {
|
if (dvert_act) {
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
BM_ITER_MESH_INDEX (eve, &iter, em->bm, BM_VERTS_OF_MESH, i) {
|
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) {
|
if (BM_elem_flag_test(eve, BM_ELEM_SELECT) && eve != eve_act) {
|
||||||
MDeformVert *dv = BM_ELEM_CD_GET_VOID_P(eve, cd_dvert_offset);
|
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 {
|
else {
|
||||||
MDeformVert *dv;
|
MDeformVert *dv;
|
||||||
int v_act;
|
int v_act;
|
||||||
|
|
||||||
dvert_act = ED_mesh_active_dvert_get_ob(ob, &v_act);
|
dvert_act = ED_mesh_active_dvert_get_ob(ob, &v_act);
|
||||||
if (dvert_act == NULL) {
|
if (dvert_act) {
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
dv = me->dvert;
|
dv = me->dvert;
|
||||||
for (i = 0; i < me->totvert; i++, dv++) {
|
for (i = 0; i < me->totvert; i++, dv++) {
|
||||||
if ((me->mvert[i].flag & SELECT) && dv != dvert_act) {
|
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);
|
MEM_freeN((void *)vgroup_validmap);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user