[Bf-blender-cvs] [85b7d397f76] master: Fix T72380: New Weld Modifier is crashing when used after a Vertex Weight Modifier

mano-wii noreply at git.blender.org
Thu Dec 12 13:00:48 CET 2019


Commit: 85b7d397f7620b57ce4014ee7b0119eef64578d9
Author: mano-wii
Date:   Thu Dec 12 08:55:28 2019 -0300
Branches: master
https://developer.blender.org/rB85b7d397f7620b57ce4014ee7b0119eef64578d9

Fix T72380: New Weld Modifier is crashing when used after a Vertex Weight Modifier

It happened when the vertex group was empty.

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

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

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

diff --git a/source/blender/modifiers/intern/MOD_weld.c b/source/blender/modifiers/intern/MOD_weld.c
index ca6998b9aa4..ae081942a39 100644
--- a/source/blender/modifiers/intern/MOD_weld.c
+++ b/source/blender/modifiers/intern/MOD_weld.c
@@ -1645,6 +1645,14 @@ static Mesh *weldModifier_doWeld(WeldModifierData *wmd, const ModifierEvalContex
   BVHTree *bvhtree = bvhtree_from_mesh_verts_ex(
       &treedata, mvert, totvert, false, v_mask, v_mask_act, wmd->merge_dist, 2, 6, 0, NULL);
 
+  if (v_mask) {
+    MEM_freeN(v_mask);
+  }
+
+  if (bvhtree == NULL) {
+    return result;
+  }
+
   struct WeldOverlapData data;
   data.mvert = mvert;
   data.merge_dist_sq = SQUARE(wmd->merge_dist);
@@ -1855,9 +1863,6 @@ static Mesh *weldModifier_doWeld(WeldModifierData *wmd, const ModifierEvalContex
     weld_mesh_context_free(&weld_mesh);
   }
 
-  if (v_mask) {
-    MEM_freeN(v_mask);
-  }
   MEM_freeN(overlap);
   return result;
 }



More information about the Bf-blender-cvs mailing list