[Bf-blender-cvs] [3e0f117] master: Fix T47170: Sculpt w/ constructive modifier crash

Campbell Barton noreply at git.blender.org
Thu Jan 14 00:16:23 CET 2016


Commit: 3e0f117ef574e1bbab5793db6cfe3fc8bd0fdce9
Author: Campbell Barton
Date:   Thu Jan 14 10:04:24 2016 +1100
Branches: master
https://developer.blender.org/rB3e0f117ef574e1bbab5793db6cfe3fc8bd0fdce9

Fix T47170: Sculpt w/ constructive modifier crash

Regression in 4d33c37c9

Only copy normal arrays from sculpt to the DerivedMesh when the mesh is deformed.

Constructive modifiers calculate their own normals.

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

M	source/blender/blenkernel/intern/cdderivedmesh.c

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

diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c
index 24b79c1..eacacdd 100644
--- a/source/blender/blenkernel/intern/cdderivedmesh.c
+++ b/source/blender/blenkernel/intern/cdderivedmesh.c
@@ -343,6 +343,11 @@ static void cdDM_update_normals_from_pbvh(DerivedMesh *dm)
 	CDDerivedMesh *cddm = (CDDerivedMesh *) dm;
 	float (*face_nors)[3];
 
+	/* constructive modifiers handle their own normals */
+	if (!dm->deformedOnly) {
+		return;
+	}
+
 	face_nors = CustomData_get_layer(&dm->polyData, CD_NORMAL);
 
 	BKE_pbvh_update(cddm->pbvh, PBVH_UpdateNormals, face_nors);




More information about the Bf-blender-cvs mailing list