Commit: 7d697cdfef48f4c743fa7ec53acd8505c36a5db4
Author: Mai Lavelle
Date: Tue Apr 24 04:24:29 2018 -0400
Branches: temp-modifier-rm-cddm
https://developer.blender.org/rB7d697cdfef48f4c743fa7ec53acd8505c36a5db4
Fix crash when no mesh in passed to deform functions
===================================================================
M source/blender/blenkernel/intern/modifier.c
===================================================================
diff --git a/source/blender/blenkernel/intern/modifier.c
b/source/blender/blenkernel/intern/modifier.c
index ba1bc9433d2..0ad80d491b0 100644
--- a/source/blender/blenkernel/intern/modifier.c
+++ b/source/blender/blenkernel/intern/modifier.c
@@ -863,11 +863,16 @@ void modifier_deformVerts(struct ModifierData *md, struct
Depsgraph *depsgraph,
mti->deformVerts(md, depsgraph, ob, mesh, vertexCos, numVerts,
flag);
}
else {
- DerivedMesh *dm = CDDM_from_mesh(mesh);
+ DerivedMesh *dm = NULL;
+ if (mesh) {
+ dm = CDDM_from_mesh(mesh);
+ }
mti->deformVerts_DM(md, depsgraph, ob, dm, vertexCos, numVerts,
flag);
- dm->release(dm);
+ if (dm) {
+ dm->release(dm);
+ }
}
}
@@ -881,11 +886,16 @@ void modifier_deformMatrices(struct ModifierData *md,
struct Depsgraph *depsgrap
mti->deformMatrices(md, depsgraph, ob, mesh, vertexCos,
defMats, numVerts);
}
else {
- DerivedMesh *dm = CDDM_from_mesh(mesh);
+ DerivedMesh *dm = NULL;
+ if (mesh) {
+ dm = CDDM_from_mesh(mesh);
+ }
mti->deformMatrices_DM(md, depsgraph, ob, dm, vertexCos,
defMats, numVerts);
- dm->release(dm);
+ if (dm) {
+ dm->release(dm);
+ }
}
}
@@ -899,11 +909,16 @@ void modifier_deformVertsEM(struct ModifierData *md,
struct Depsgraph *depsgraph
mti->deformVertsEM(md, depsgraph, ob, editData, mesh,
vertexCos, numVerts);
}
else {
- DerivedMesh *dm = CDDM_from_mesh(mesh);
+ DerivedMesh *dm = NULL;
+ if (mesh) {
+ dm = CDDM_from_mesh(mesh);
+ }
mti->deformVertsEM_DM(md, depsgraph, ob, editData, dm,
vertexCos, numVerts);
- dm->release(dm);
+ if (dm) {
+ dm->release(dm);
+ }
}
}
@@ -917,11 +932,16 @@ void modifier_deformMatricesEM(struct ModifierData *md,
struct Depsgraph *depsgr
mti->deformMatricesEM(md, depsgraph, ob, editData, mesh,
vertexCos, defMats, numVerts);
}
else {
- DerivedMesh *dm = CDDM_from_mesh(mesh);
+ DerivedMesh *dm = NULL;
+ if (mesh) {
+ dm = CDDM_from_mesh(mesh);
+ }
mti->deformMatricesEM_DM(md, depsgraph, ob, editData, dm,
vertexCos, defMats, numVerts);
- dm->release(dm);
+ if (dm) {
+ dm->release(dm);
+ }
}
}
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs