[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57829] trunk/blender/source/blender/ editors/object/object_vgroup.c: fix for memory leak in vgroup_copy_active_to_sel

Campbell Barton ideasman42 at gmail.com
Thu Jun 27 19:11:23 CEST 2013


Revision: 57829
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57829
Author:   campbellbarton
Date:     2013-06-27 17:11:23 +0000 (Thu, 27 Jun 2013)
Log Message:
-----------
fix for memory leak in vgroup_copy_active_to_sel

Modified Paths:
--------------
    trunk/blender/source/blender/editors/object/object_vgroup.c

Modified: trunk/blender/source/blender/editors/object/object_vgroup.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_vgroup.c	2013-06-27 16:16:54 UTC (rev 57828)
+++ trunk/blender/source/blender/editors/object/object_vgroup.c	2013-06-27 17:11:23 UTC (rev 57829)
@@ -557,16 +557,14 @@
 		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;
-		}
-
-		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);
-				defvert_copy_subset(dv, dvert_act, vgroup_validmap, vgroup_tot);
-				if (me->editflag & ME_EDIT_MIRROR_X) {
-					ED_mesh_defvert_mirror_update_em(ob, eve, -1, i, cd_dvert_offset);
+		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);
+					defvert_copy_subset(dv, dvert_act, vgroup_validmap, vgroup_tot);
+					if (me->editflag & ME_EDIT_MIRROR_X) {
+						ED_mesh_defvert_mirror_update_em(ob, eve, -1, i, cd_dvert_offset);
+					}
 				}
 			}
 		}
@@ -576,16 +574,14 @@
 		int v_act;
 
 		dvert_act = ED_mesh_active_dvert_get_ob(ob, &v_act);
-		if (dvert_act == NULL) {
-			return;
-		}
-
-		dv  = me->dvert;
-		for (i = 0; i < me->totvert; i++, dv++) {
-			if ((me->mvert[i].flag & SELECT) && dv != dvert_act) {
-				defvert_copy_subset(dv, dvert_act, vgroup_validmap, vgroup_tot);
-				if (me->editflag & ME_EDIT_MIRROR_X) {
-					ED_mesh_defvert_mirror_update_ob(ob, -1, i);
+		if (dvert_act) {
+			dv  = me->dvert;
+			for (i = 0; i < me->totvert; i++, dv++) {
+				if ((me->mvert[i].flag & SELECT) && dv != dvert_act) {
+					defvert_copy_subset(dv, dvert_act, vgroup_validmap, vgroup_tot);
+					if (me->editflag & ME_EDIT_MIRROR_X) {
+						ED_mesh_defvert_mirror_update_ob(ob, -1, i);
+					}
 				}
 			}
 		}




More information about the Bf-blender-cvs mailing list