Changing clear weight code from "assigning 0" to "removing".
[blender.git] / source / blender / editors / object / object_vgroup.c
index ab9a4cb07ecf02b116dd90274efa0f730eb04b2d..f1a31f8bfaac29a1df34f45191c5db62d699177f 100644 (file)
@@ -507,14 +507,13 @@ static int ed_vgroup_transfer_weight(Object *ob_dst, Object *ob_src, bDeformGrou
 
        /* clear weights */
        if (replace_mode == WT_REPLACE_ALL_WEIGHTS) {
 
        /* clear weights */
        if (replace_mode == WT_REPLACE_ALL_WEIGHTS) {
-               for(i = 0, dv_dst = dv_array_dst; i < me_dst->totvert; i++, dv_dst++) {
+               for (i = 0, dv_dst = dv_array_dst; i < me_dst->totvert; i++, dv_dst++) {
 
 
-                       if (*dv_dst == NULL) {
-                               continue;
-                       }
+                       if (*dv_dst == NULL) continue;
 
                        dw_dst = defvert_verify_index(*dv_dst, index_dst);
 
                        dw_dst = defvert_verify_index(*dv_dst, index_dst);
-                       if (dw_dst) (*dw_dst).weight = 0;
+                       /* remove vertex from group */
+                       if (dw_dst) defvert_remove_group(*dv_dst, dw_dst);
                }
        }
 
                }
        }
 
@@ -562,7 +561,7 @@ static int ed_vgroup_transfer_weight(Object *ob_dst, Object *ob_src, bDeformGrou
 
                                /* reset nearest */
                                nearest.dist = FLT_MAX;
 
                                /* reset nearest */
                                nearest.dist = FLT_MAX;
-                               /* With current binary tree its marginally faster to start searching at the top, as opposed to previous search. */
+                               /* with current binary tree its marginally faster to start searching at the top, as opposed to previous search. */
                                nearest.index = -1;
 
                                /* transform into target space */
                                nearest.index = -1;
 
                                /* transform into target space */
@@ -601,7 +600,7 @@ static int ed_vgroup_transfer_weight(Object *ob_dst, Object *ob_src, bDeformGrou
 
                                /* reset nearest */
                                nearest.dist = FLT_MAX;
 
                                /* reset nearest */
                                nearest.dist = FLT_MAX;
-                               /* With current binary tree its marginally faster to start searching at the top, as opposed to previous search. */
+                               /* with current binary tree its marginally faster to start searching at the top, as opposed to previous search. */
                                nearest.index = -1;
 
                                /* transform into target space */
                                nearest.index = -1;
 
                                /* transform into target space */