[Bf-blender-cvs] [b99358315e5] blender-v2.90-release: Fix T79180: Object disappears when scaled, set origin etc after applying smooth modifier.

Bastien Montagne noreply at git.blender.org
Tue Jul 28 14:44:35 CEST 2020


Commit: b99358315e5a16ec0b0ebbd5c37f9a38aaae04b9
Author: Bastien Montagne
Date:   Tue Jul 28 14:42:17 2020 +0200
Branches: blender-v2.90-release
https://developer.blender.org/rBb99358315e5a16ec0b0ebbd5c37f9a38aaae04b9

Fix T79180: Object disappears when scaled, set origin etc after applying smooth modifier.

Very dummy mistake in modifier code would generate invalid number
(divisions by zero)...

Should also be ported to 2.83.

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

M	source/blender/modifiers/intern/MOD_smooth.c

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

diff --git a/source/blender/modifiers/intern/MOD_smooth.c b/source/blender/modifiers/intern/MOD_smooth.c
index b03b949c946..deece2b999b 100644
--- a/source/blender/modifiers/intern/MOD_smooth.c
+++ b/source/blender/modifiers/intern/MOD_smooth.c
@@ -147,7 +147,7 @@ static void smoothModifier_do(
       MDeformVert *dv = dvert;
       for (int i = 0; i < numVerts; i++, dv++) {
         float *vco_orig = vertexCos[i];
-        if (num_accumulated_vecs[0] > 0) {
+        if (num_accumulated_vecs[i] > 0) {
           mul_v3_fl(accumulated_vecs[i], 1.0f / (float)num_accumulated_vecs[i]);
         }
         float *vco_new = accumulated_vecs[i];
@@ -174,7 +174,7 @@ static void smoothModifier_do(
     else { /* no vertex group */
       for (int i = 0; i < numVerts; i++) {
         float *vco_orig = vertexCos[i];
-        if (num_accumulated_vecs[0] > 0) {
+        if (num_accumulated_vecs[i] > 0) {
           mul_v3_fl(accumulated_vecs[i], 1.0f / (float)num_accumulated_vecs[i]);
         }
         float *vco_new = accumulated_vecs[i];



More information about the Bf-blender-cvs mailing list